Oracle PLS-00049:坏绑定变量';D部门ID和x27;蟾蜍

Oracle PLS-00049:坏绑定变量';D部门ID和x27;蟾蜍,oracle,plsql,Oracle,Plsql,我在Toad中为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)

我在Toad中为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;

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

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;

你的要求是什么?为什么不在调用过程时使用过程参数并接受用户输入?@Kaushik-Nayak我希望用户在运行时输入值