oracel中對游標的操作

2021-06-05 07:40:50 字數 1846 閱讀 1056

1、

游標是從資料表中提取出來的資料,以臨時表的形式存放在內

存中

2、游標

定義游標

:cursor

游標名   is    select   查詢語句

*  游標定義之後,在使用前必須通過「

open

」開啟游標。

開啟游標

:open 游標名

將符合條件的記錄送入記憶體

將指標指向第一條記錄

例1      

declare

cursor mycursor is select * from test ;

begin

open mycursor;

end;

提取資料

fetch

游標名into

變數名1

,變數名2……

或 fetch 

游標名into

記錄型變數名

使用完要關閉游標

close   游標名字

3、游標狀態

以游標  sql 為例

sql%isopen

返回的型別為布林型

,判斷游標是否被開啟,如果開啟

%isopen

等於true,

否則等於

false,

即執行過程中為真

,結束後為假。

sql%notfound

返回值為布林型

,判斷游標所在的行是否有效,如果有效,則

%foundd

等於true

,否則等於

false,

即與%found

屬性返回值相反。

sql%found

返回值的型別為布林型,值為

true

代表插入

刪除更新或單行查詢操作成功。

sql%rowcount

返回值型別為整型,返回當前位置為止游標讀取的記錄行數

,即成功執行的資料行數。

sql%rowtype

獲取一條記錄型別

示例**如下:

例子1;  

declare

cursor sql    is select * from test

;  

currecord    sql%rowtype

;        //獲取這一行記錄的型別

begin

open mycursor;                //開啟游標

fetch mycursor into currecord

;    // 往下下移動游標

dbms_output.put_line(to_char(currecord.num));                //輸出游標資訊

close mycursor;

end;

例子2;

declare

cursor mycursor is select * from emp ;  

currecord mycursor%rowtype ;

begin

open mycursor;

loop

fetch mycursor into currecord ;

exit when mycursor%notfound;

dbms_output.put_line(mycursor%rowcount);

dbms_output.put_line(currecord.ename);

end loop;

close mycursor;

end;

對游標的認識

1.游標是什麼 游標是sql 的一種資料訪問機制。可以將游標簡單的看成是查詢的結果集的乙個指標,可以根據需要在結果集上面來回滾動,瀏覽需要的資料。2。游標的使用 下面展示一些內聯 片。宣告游標 declare cur cust level cursor for select id,consumeam...

mysql儲存過程,對游標的操作

create procedure p delete test teacher in t id bigint,out res code int begin 定義游標結束標記 declare done int default 0 定義臨時儲存變數儲存遍歷右邊的id declare tmp id bigi...

mysql儲存過程游標的運用,適合對游標剛學習者。

近來,因業務的需要寫了乙個儲存,放上面曬曬。適合對游標剛學習者,大致業務是實現對多張表審核操作需要插入審核訊息記錄 建立帶有三個輸入引數,乙個輸出引數的儲存 create procedure prop dealmessage in ids integer in status1 integer in ...