亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

exit when cursor%notfound 放在fetch的前面會比放在fetch后面多loop一個次,這是為什么?

exit when cursor%notfound 放在fetch的前面會比放在fetch后面多loop一個次,這是為什么?不是見到這個exit when,滿足條件就立馬跳出循環嗎?

正在回答

2 回答

顯式游標屬性:

?%FOUND:變量最后從游標中獲取記錄的時候,在結果集中找到了記錄。

%NOTFOUND:變量最后從游標中獲取記錄的時候,在結果集中沒有找到記錄。

%ROWCOUNT:當前時刻已經從游標中獲取的記錄數量。

%ISOPEN:是否打開。

------

所以最后一行fetch后,再判斷notfound才能跳出循環。

而fetch超出行數時,不會報錯,仍保留最后一次的值。

下載視頻 ? ? ? ? ?
0 回復 有任何疑惑可以回復我~

因為%notfound是根據最后一次fetch來判斷的,因此當輸出最后一條記錄后,還會在輸出最一條記錄,即最后一條記錄將輸出2遍
??????? 最后一次循環將處理在"結果集最后一行"的下一行,該行為NULL,當fetch的時候PL/SQL將不會拋出異常,并且不會覆蓋最后一次循環中賦予tempName的值,即tempName會保留最后一次被賦予的值。

1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

exit when cursor%notfound 放在fetch的前面會比放在fetch后面多loop一個次,這是為什么?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號