oracle 游標管理

2021-09-01 08:02:24 字數 994 閱讀 9768

游標:

游標:逐行處理查詢結果,以程式設計的方式訪問資料。

游標的分類:

隱式游標:用於處理返回單行的結果。

顯式游標:用於處理返回多行的結果

ref(動態游標):用於處理動態sql語句返回的結果。

隱式游標

名稱:統一為sql。用於判斷最近執行的那一條dml語句。

select into 也是隱式游標。

只能夠返回一行的資料。

顯示游標

步驟:a:宣告乙個顯示游標

cursor 游標名字[(引數變數名 型別,引數變數名2 型別...)] is 查詢結果集語句 [for update]

b:開啟游標

open 游標名字[實參值,實參值...]

c:提取游標中的資料到變數。(做迴圈)

fetch 游標名字 into 接收變數;

d:關閉游標。

close 游標名稱

顯示游標的可更新用法

定義 後 加上for update

提取後

修改或者刪除語句 where current of 游標名稱。

直接用update,delete來代替可更新的顯示游標。

游標for迴圈

for 乙個游標for迴圈可以隱含的實現open,fetch,close游標以及迴圈處理結果集的功能。

語法for 接收變數 in 游標名字

loop

end loop;

ref的動態游標。

強型別的ref游標(指定游標返回值型別)

type my_curtype is ref cursor

return stud_det%rowtype;

order_cur my_curtype;

弱型別的ref游標,才能夠執行動態sql語句。

不指定返回值型別 返回值型別由游標動態執行決定

type my_ctype is ref cursor;

stud_cur my_ctype;

oracle 游標使用

create or replace function errortyperead return varchar2 is result varchar2 3000 type cursor type is ref cursor tempname varchar2 100 cursor testcur i...

oracle 初識游標

游標大串燒 一 游標分類 1.靜態游標 編譯時才確定elect語句。1 隱式游標 使用者不能直接控制的靜態游標 自動開,自動取,自動關 當使用者用update,delete,insert,select 帶into 時,自動產生隱式游標。游標名字為 sql 相關屬性 found,notfound,is...

oracle游標總結

1.利用游標顯示職工號 來廠日期 職位 部門號 部門名 部門所在地 工資所處的等級。declare outempno int outhiredate date outjob varchar 10 outdeptno int outloc varchar 10 outgrade int cursor ...