PLS-00049:蟾蜍中的绑定变量'D_DEPT_ID'错误

时间:2018-07-16 04:19:55

标签: oracle plsql

我在Toad for Oracle中用替换变量创建了过程,但是它给了我错误

“ PLS-00049:错误的绑定变量'D_DEPT_ID'”

程序代码:

CREATE OR REPLACE PROCEDURE add_dept
IS

dept_id dept.deptno%TYPE;
dept_name dept.dname%TYPE;

BEGIN
dept_id := :d_dept_id;
dept_name := ':d_ name';

INSERT INTO dept(deptno,dname) VALUES (dept_id,dept_name);
DBMS_OUTPUT.PUT_LINE (' INSERTED ' || SQL%ROWCOUNT || ' ROW ');
END;

1 个答案:

答案 0 :(得分:2)

您不能将绑定变量放在过程或函数代码内。要完成任务,必须在运行时将值作为过程的参数传递进来。

CREATE OR REPLACE PROCEDURE add_dept(dept_id dept.deptno%TYPE, dept_name dept.dname%TYPE) IS

BEGIN

    INSERT INTO dept(deptno,dname) VALUES (dept_id,dept_name);
    DBMS_OUTPUT.PUT_LINE (' INSERTED ' || SQL%ROWCOUNT || ' ROW '); 
END;

然后在运行时,在您的匿名块或调用代码中,从最终用户传递值。

BEGIN
   add_date(:d_dept_id, :d_dept_name);
END;