我正在學習PL/SQL遊標。我有一個遊標屬性的問題。隱式和顯式遊標中%FOUND
,%NOTFOUND
的默認值是多少?cusor屬性中%NOTFOUND的默認值是什麼?
我通過PDF去,我發現這句話
LOOP
FETCH c1 INTO my_ename, my_sal, my_hiredate;
EXIT WHEN c1%NOTFOUND;
...
END LOOP;
的第一次提取,%NOTFOUND計算爲NULL之前。因此,如果FETCH從未成功執行,則永遠不會退出循環。這是因爲只有當WHEN條件爲 時,EXIT WHEN語句纔會執行。爲了安全起見,請使用以下EXIT語句代替:
EXIT WHEN c1%NOTFOUND OR c1%NOTFOUND IS NULL;
如果遊標未打開,與%NOTFOUND
引用它提出INVALID_CURSOR
。