plsql程序中的异常

plsql程序中的异常,plsql,Plsql,我的错误是 错误报告: ORA-06550:第20行,第PLS-00103列:在预期以下情况之一时遇到符号“LOOP”: 如果 ORA-06550:第25行第4列: PLS-00103:在预期以下情况时遇到符号“文件结束”: end not pragma最终实例化顺序覆盖静态 成员构造函数映射 655000000-“行%s,列%s:\n%s” *原因:通常是PL/SQL编译错误。 *行动: 我不明白错误是什么试试这个,end if DECLARE past_due exception; CURS

我的错误是

错误报告: ORA-06550:第20行,第PLS-00103列:在预期以下情况之一时遇到符号“LOOP”:

如果 ORA-06550:第25行第4列: PLS-00103:在预期以下情况时遇到符号“文件结束”:

end not pragma最终实例化顺序覆盖静态 成员构造函数映射 655000000-“行%s,列%s:\n%s” *原因:通常是PL/SQL编译错误。 *行动:
我不明白错误是什么

试试这个,
end if

DECLARE
past_due exception;
CURSOR emp_cur IS
select distinct e.empno as enum,e.ename,e.hiredate,e.sal,e.job1,e.comm,e.deptno,e.mgr

from emp e join emp m
on m.mgr=e.empno;
c1 emp_cur%ROWTYPE;
BEGIN
OPEN emp_cur;
LOOP
    FETCH emp_cur INTO c1;
     if emp_cur%NOTFOUND then
 raise past_due;

/*  INSERT INTO newempl(emp_id,emp_nm,emp_sal)*/
     insert into newemp(dno,dname,ddate,dbasic,djob,dcomm,dept)
   values( c1.enum,c1.ename,c1.hiredate,c1.sal,c1.job1,c1.comm,c1.deptno);
   dbms_output.put_line(c1.enum||' '||c1.ename);
END LOOP;
exception
when past_due then
raise_application_error(-2100,'fetching the records is completed');

END;

试试这个,
end if

DECLARE
past_due exception;
CURSOR emp_cur IS
select distinct e.empno as enum,e.ename,e.hiredate,e.sal,e.job1,e.comm,e.deptno,e.mgr

from emp e join emp m
on m.mgr=e.empno;
c1 emp_cur%ROWTYPE;
BEGIN
OPEN emp_cur;
LOOP
    FETCH emp_cur INTO c1;
     if emp_cur%NOTFOUND then
 raise past_due;

/*  INSERT INTO newempl(emp_id,emp_nm,emp_sal)*/
     insert into newemp(dno,dname,ddate,dbasic,djob,dcomm,dept)
   values( c1.enum,c1.ename,c1.hiredate,c1.sal,c1.job1,c1.comm,c1.deptno);
   dbms_output.put_line(c1.enum||' '||c1.ename);
END LOOP;
exception
when past_due then
raise_application_error(-2100,'fetching the records is completed');

END;