存储过程编译出错,请大家帮忙看一下!
Create OR REPLACE Package p_test
as
type NE_ID IS TABLE OF number(4) INDEX BY BINARY_INTEGER;
type DXC_NAME IS TABLE OF varchar(20) INDEX BY BINARY_INTEGER;
type Total_Port IS TABLE OF number(4) INDEX BY BINARY_INTEGER;
PROCEDURE pc_Stu(empID OUT NE_ID,empName OUT DXC_NAME,empTotalPort OUT
Total_Port);
END p_test;
/
CREATE OR REPLACE Package body p_test
as
PROCEDURE pc_Stu(empID OUT NE_ID,empName OUT DXC_NAME,empTotalPort OUT
Total_Port)
is
CURSOR c1 IS SELECT ID,NAME FROM NE_INFO WHERE Role =1 ORDER BY ID;
CURSOR c2 IS SELECT NE_INFO.ID,Count(NPC.NPC) AS cnum
From NE_INFO,NPC
Where NE_INFO.ID = NPC.NE_ID
GROUP BY NE_INFO.ID
ORDER BY NE_INFO.ID;
cnt NUMBER DEFAULT 1;
c c1%ROWTYPE;
cc1 c2%ROWTYPE;
Begin
OPEN c1;
LOOP
FETCH c1 INTO c;
empID(cnt) := c.ID;
empName(cnt) := c.NAME;
EXIT WHEN c1%NOTFOUND;
cnt := cnt + 1;
END LOOP;
CLOSE c1;
cnt := 1;
-----35行
OPEN c2;
LOOP
FETCH c2 INTO cc1;
IF cnt = cc1.ID + 1 then
empTotalPort(cnt) := cc1.cnum;
else
empTotalPort(cnt) := 0;
END IF
EXIT WHEN c2%NOTFOUND;
cnt := cnt + 1;
END LOOP;
CLOSE c2;
END pc_Stu;
END p_test;
/
错误提示:35/3 PLS-00103: 出现符号"EXIT"在需要下列之一时:
;