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 c1;
LOOP
FETCH c1 INTO c;
EXIT WHEN c1%NOTFOUND; --提前
empID(cnt) := c.ID;
empName(cnt) := c.NAME;
cnt := cnt + 1;
END LOOP;
CLOSE c1;
cnt := 1;
-----35行
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 c1;
LOOP
FETCH c1 INTO c;
EXIT WHEN c1%NOTFOUND; --提前
empID(cnt) := c.ID;
empName(cnt) := c.NAME;
cnt := cnt + 1;
END LOOP;
CLOSE c1;
cnt := 1;
-----35行
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
for v1 in c1 loop
empID(cnt) := v1.ID;
empName(cnt) := v1.NAME;
cnt := cnt + 1;
END LOOP;
cnt := 1;
-----35行
for v2 in c2 loop
--FETCH c2 INTO cc1;
IF cnt = v2.ID + 1 then
empTotalPort(cnt) := v2.cnum;
else
empTotalPort(cnt) := 0;
END IF
-- EXIT WHEN c2%NOTFOUND;
cnt := cnt + 1;
END LOOP;
--CLOSE c2;
END pc_Stu;