最开始的代码是:
CREATE or REPLACE PROCEDURE get_department_name
(in_empno IN number(4) , out_department_name OUT varchar2) IS
BEGIN
SELECT d.dname
INTO out_department_name
FROM emp e LEFT JOIN dept d on e.deptno=d.deptno
WHERE e.empno=in_empno;
END;
但是报异常:
解决:将输入参数in_empno的数据类型改为number,创建存储过程时,数值类型只能用NUMBER,不能指定长度。
==================================================================================================
另外:异常显示存储过程创建成功了,而且在Plsql中也显示成功,其实还是相当于没有创建成功,根本无法调用,调用的时候就报下面的异常
起初还以为虽然编译错误了,但是毕竟创建成功了,应该能用吧,结果根本无法调用。所有如果报创建成功编错误的异常,一定要把这个异常解决掉,否则等于没有创建此存储过程。