pl/sql 警告: 创建的过程带有编译错误。
1 create or replace procedure add_employee
2 (eno number,name varchar2,sal number,
3 job varchar2 default 'CLERK',dno number)
4 is
5 --declare
6 e exception
7 pragma exception_init(e,-2291);
8 begin
9 insert into emp (empno,ename,sal,job,deptno)
10 values(eno,name,sal,job,dno);
11 exception
12 when dup_val_on_index then
13 raise_application_error(-20000,'雇员号不能重复');
14 when e then
15 raise_application_error(-20001,'部门号不存在');
16* end;
SQL> /
警告: 创建的过程带有编译错误。
我测试了,就是那个定义的 e 例外有问题,我是照书上抄的 不知道为什么会出现错误,请大家知道下,谢谢! 还有大家一般用什么pl/sql开发工具啊,感觉自带的sql*plus 用的不是很顺手。
------解决方案--------------------
SQL code
--你可以用show errors看下哪里错了
create or replace procedure add_employee
(eno number,name varchar2,sal number,
job varchar2 default 'CLERK',dno number)
is
--declare
e exception;
pragma exception_init(e,-2291);
begin
insert into emp (empno,ename,sal,job,deptno)
values(eno,name,sal,job,dno);
exception
when dup_val_on_index then
raise_application_error(-20000,'雇员号不能重复');
when e then
raise_application_error(-20001,'部门号不存在');
end;
/