首先,我是Oracle存储过程的新手,所以我不习惯编译它们。
我尝试编译下面的存储过程,但出现异常。
SET SERVEROUTPUT ON
DECLARE
o_res_code NUMBER;
o_res_msg VARCHAR2(500);
o_curr_blnc NUMBER;
o_prev_blnc NUMBER;
BEGIN
execute SP_SC_REDEEM ('82201026551015', 1, '4739',45478,systimestamp, systimestamp,7875,82227357776962, 1.1, 1.1,:o_curr_blnc, :o_prev_blnc, :o_res_code, :o_res_msg);
END;
例外:
Bind Variable "o_curr_blnc" is NOT DECLARED
anonymous block completed
有人可以纠正我吗?
您已经声明了局部变量,因此不需要冒号来引用它们。此外,PL/SQL 块中不需要execute
。
DECLARE
o_res_code NUMBER;
o_res_msg VARCHAR2(500);
o_curr_blnc NUMBER;
o_prev_blnc NUMBER;
BEGIN
SP_SC_REDEEM ('82201026551015', 1, '4739',45478
,systimestamp, systimestamp,7875,82227357776962, 1.1, 1.1
,o_curr_blnc, o_prev_blnc, o_res_code, o_res_msg);
END;