在oracle中执行SP

时间:2016-05-31 05:59:09

标签: oracle stored-procedures

首先,我是Oracle存储过程的新手,所以我不习惯编译它们。

我尝试编译下面的存储过程但是异常。

<div class="container">
  <div class="column">column 1</div>
  <div class="column">column 2</div>
  <div class="column bfc">column 3</div>
</div>

例外:

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;

有人可以纠正我吗?

1 个答案:

答案 0 :(得分:1)

您已声明了局部变量,因此您不需要冒号来引用它们。此外,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;