Oracle提供游標的方式,讓開發者可以更細膩地進行資料處理,而游標主要是針對SELECT敘述所回傳的結果集,再進行資料的逐筆處理動作。
游標主要分為以下兩種類型:
- 隱式游標 (Implicit Cursor):此游標由Oracle自動建立管理。
- 顯式游標 (Explicit Cursor):此游標由開發人員進行建立與控制。
隱式游標由Oracle自動建立管理,進行如INSERT、UPDATE、DELETE以及SELECT INTO等動作皆會建立隱式游標,並由Oracle自動開啟、提取以及關閉。
開發者可透過以下常用屬性取得游標相關資訊:
- %FOUND:進行如INSERT、UPDATE、DELETE以及SELECT INTO等動作時,若影響一或多筆資料,就會回傳TRUE,否則為FALSE。
- %NOTFOUND:與%FOUND相反,進行如INSERT、UPDATE、DELETE以及SELECT INTO等動作時,若沒有影響任何資料,就會回傳TRUE,否則為FALSE。
- %ISOPEN:游標是否為開啟狀態,若使用隱式游標時,則總是回傳FALSE,因資料庫進行完SQL敘述後,會自斷關閉。
- %ROWCOUNT:進行如INSERT、UPDATE、DELETE以及SELECT INTO等動作時,所影響的筆數。
*使用以上屬性前面須加上 SQL 做為游標名稱,如 SQL%FOUND 。
以下進行相關示範
|
|
執行結果
|
|