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 ...