CALL 子句
当发生指定类型的异常时,使用 CALL 子句来将程序控制传送到指定的 UDR。请不要在 UDR 名
称之后包括圆括号。如果程序检测到错误,则下列 WHENEVER 语句导致程序调用
error_recovery() 函数:
EXEC SQL WHENEVER SQLERROR CALL error_recovery;
当 UDR 返回时,在正导致该错误的行之后的下一语句处恢复执行。当发生错误时,如果您想要终
止执行,包括终止该程序作为指定的 UDR 的一部分的语句。
请观察指定的例程上的下列限制:
⚫ UDR 不可接受参数,也不可返回值。如果它需要外部的信息,请使用全局变量或
WHENEVER ... GOTO 选项来将程序控制传送到调用该 UDR 的标签。
⚫ 您不可在 CALL 子句中指定 SPL 例程的名称。要调用 SPL 例程,请使用 CALL 子句
来调用包含 EXECUTE FUNCTION(或 EXECUTE PROCEDURE)语句的 UDR。
⚫ 请确保在 WHENEVER ... CALL 语句的作用域内的所有函数都可发现指定的函数的声明。
相关的语句
相关的语句:EXECUTE FUNCTION 语句、EXECUTE PROCEDURE 语句 和 FETCH 语句
要了解关于异常处理和错误检查的讨论,请参阅 GBase 8s ESQL/C 程序员手册。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




