當執行一條DML語句後,DML語句的結果保存在四個遊標屬性中,這些屬性用於控制程序流程或者瞭解程序的狀態。當運行DML語句時,PL/SQL打開一
個內建遊標並處理結果,遊標是維護查詢結果的內存中的一個區域,遊標在運行DML語句時打開,完成後關閉。隱式遊標只使用
SQL%FOUND,SQL%NOTFOUND,SQL%ROWCOUNT三個屬性.SQL%FOUND,SQL%NOTFOUND是布爾
值,SQL%ROWCOUNT是整數值。
SQL%FOUND和SQL%NOTFOUND
在執行任何DML語句前SQL%FOUND和SQL%NOTFOUND的值都是NULL,在執行DML語句後,SQL%FOUND的屬性值將是:
. TRUE :INSERT
. TRUE :DELETE和UPDATE,至少有一行被DELETE或UPDATE.
. TRUE :SELECT INTO至少返回一行
當SQL%FOUND爲TRUE時,SQL%NOTFOUND爲FALSE。
SQL%ROWCOUNT
在執行任何DML語句之前,SQL%ROWCOUNT的值都是NULL,對於SELECT
INTO語句,如果執行成功,SQL%ROWCOUNT的值爲1,如果沒有成功,SQL%ROWCOUNT的值爲0,同時產生一個異常
NO_DATA_FOUND.
SQL%ISOPEN
SQL%ISOPEN是一個布爾值,如果遊標打開,則爲TRUE,
如果遊標關閉,則爲FALSE.對於隱式遊標而言SQL%ISOPEN總是FALSE,這是因爲隱式遊標在DML語句執行時打開,結束時就立即關閉。
遊標屬性 SQL%FOUND,SQL%NOTFOUND,SQL%ROWCOUNT
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.