【发布时间】:2026-02-24 00:10:01
【问题描述】:
我查看了其他人编写的 plsql 代码,我发现他在异常块中使用了 return 命令,我已经在 java 编程中阅读过这不是一个好习惯,我还检查了一些 plsql 的异常示例,发现 return 不是使用过,所以有人可以确认这是无效的吗?
EXCEPTION WHEN OTHERS THEN
create_log ( p_caller_user, 'E', '4', NULL
, 'INTEREST_CALCULATION_TOOLS', 'CALCULATE_INTEREST'
, V_SPY_COUNTER
, 'UNEXPECTED ERROR DURING FUNCTION EXECUTION, ACC NO : '
|| ',' || SQLERRM()
|| p_account_id, SQLCODE(), SYSDATE);
RETURN -2;
【问题讨论】:
-
手册对此事有何评论?
-
@a_horse_with_no_name 手册没有写任何关于这个主题的内容。
-
PLSQL 函数返回一个值,可以是数字或其他对象类型。返回 -2;在从函数返回数字数据类型的函数中工作。程序不这样做,它们不返回某种值。要记住两件事 - plsql 是旧的,并且基于 ADA 编程的概念; plsql不是java。从 plsql 函数内部返回异常块内是可以的。您正在考虑的是代码的静态“复杂性” - 它随着多次返回而增加。并没有真正将相同的方式应用于 plsql。