加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

oracle – 在Toad中调用存储的PROCEDURE

发布时间:2020-12-12 13:50:52 所属栏目:百科 来源:网络整理
导读:我有一个新的存储过程,但在调用时出错, CREATE OR REPLACE PROCEDURE SCOTT.getempsal( p_emp_id IN NUMBER,p_emp_month IN CHAR,p_emp_sal OUT INTEGER)ASBEGIN SELECT EMP_SAL INTO p_emp_sal FROM EMPLOYEE_SAL WHERE EMP_ID = p_emp_id AND EMP_MONTH =
我有一个新的存储过程,但在调用时出错,
CREATE OR REPLACE PROCEDURE SCOTT.getempsal(
        p_emp_id IN NUMBER,p_emp_month IN CHAR,p_emp_sal OUT INTEGER)

AS
BEGIN
    SELECT EMP_SAL
      INTO p_emp_sal
      FROM EMPLOYEE_SAL
    WHERE  EMP_ID = p_emp_id
    AND    EMP_MONTH = p_emp_month;

END getempsal;

并试图称之为:

getempsal(1,'JAN',OUT) --Invalid sql statement.
您的过程包含out参数,因此您需要在块中调用它,如:
declare
a number;
begin 
  getempsal(1,a);
  dbms_output.put_line(a);
end;

可以调用一个简单的过程(比如使用数字参数)

exec proc(1);

要么

begin
proc(1);
end;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读