我开始使用 PL/SQL 并学习如何编写procedures
,exceptions
但我似乎无法掌握如何显示错误。该过程很简单,它只应该做简单的数学运算,如下所示:
create or replace
procedure get_simple_math
(n_num1 in number,
n_num2 in number,
n_answer out number,
n_err_code out number,
n_err_msg out varchar2)
as
begin
n_answer := (n_num1 / n_num2);
dbms_output.put_line('Answer is '||n_answer);
n_err_code := 0;
exception
when others
then
n_err_code := SQLCODE;
n_err_msg := 'Error in get_simple_math '||SQLERRM;
raise_application_error (-20002,n_err_msg);
end get_simple_math;
如您所见,它没有什么花哨的,但是我一生都无法block
运行:
set serveroutput on
declare
n_answer number := 0;
n_err_code number;
n_err_msg varchar2;
begin
get_simple_math(10,5,n_answer);
end;
我假设我需要声明设置为 的变量out
,这就是它们存在的原因。我还尝试将它们添加到procedure
执行中,例如:
get_simple_math(10,5,n_answer,n_err_code,n_err_msg);
但这似乎并没有奏效,所以我只是在寻找一些帮助来解决这个问题。提前致谢。