unn*_*nan 5 mysql sql-server oracle stored-procedures
我正在创建一个过程,然后在 SQL plus 中执行它。该过程已正确创建/更新,您可以从以下代码中看到。
SQL> create or replace procedure add_sal(i_empno number, addsal out number)
2 is
3 begin
4 select sal+1000
5 into addsal
6 from emp
7 where empno=i_empno;
8 end;
9 /
Procedure created.
Run Code Online (Sandbox Code Playgroud)
当我尝试执行该过程时,我收到一个我不明白的错误。
SQL> exec add_sal(i_empno,addsal);
BEGIN add_sal(i_empno,addsal); END;
*
ERROR at line 1:
ORA-06550: line 1, column 15:
PLS-00201: identifier 'I_EMPNO' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
Run Code Online (Sandbox Code Playgroud)
我哪里错了?
小智 0
要i_empno在exec语句中使用,您必须在之前定义它:
VARIABLE i_empno NUMBER
VARIABLE addsal NUMBER
BEGIN
:i_empno:=4;
END;
/
exec add_sal(:i_empno,:addsal);
Run Code Online (Sandbox Code Playgroud)
或者你需要传递一些值:
VARIABLE addsal NUMBER
exec add_sal(1,:addsal);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16853 次 |
| 最近记录: |