Oracle 游標的使用總結

2021-07-29 20:36:55 字數 1345 閱讀 6204

declare

--定義游標

cursor tcount is

select

to_number(to_char(d_create,'yyyy')) as fyear,

vc_code as fsetid,

l_fundid as fsetcode,

vc_name as fsetname,

nvl(to_number(to_char(d_dqrq,'yyyy')),to_number(to_char(systimestamp,'yyyy'))) as fyear1,src

from md_tfundinfo;

--定義讀取游標的變數

row_tcount tcount%rowtype;

--開始時間

s number;

--結束時間

e number;

begin

--開啟游標

open tcount;

--開始迴圈

loop

--將游標所在行賦值給變數

fetch tcount into row_tcount;

--游標讀到結尾時推出(一定要寫在最前面)

exit

when tcount%notfound;

--賦值

s := row_tcount.fyear;

e := row_tcount.fyear1;

--迴圈處理該行資料

loop

--先驗證表中是否存在要插入的資料,避免重複插入

select count(*) into t from md_lsetlist where fyear=s and fsetid=row_tcount.fsetid and fsetcode=row_tcount.fsetcode

and fsetname=row_tcount.fsetname and src=row_tcount.src;

if t=0

then

insert into md_lsetlist(fyear,fsetid,fsetcode,fsetname,src)

values(s,row_tcount.fsetid,row_tcount.fsetcode,row_tcount.fsetname,row_tcount.src);

commit;

endif; s := s+1;

exit

when s>e;

endloop;

--退出迴圈

endloop;

--關閉游標

close tcount;

end;

oracle游標的使用

當select語句從資料庫中返回的記錄多餘一條時,就可以使用游標 cursor 游標可以理解為一次訪問乙個的一組記錄。select語句將列提取到游標中,然後根據游標取得記錄。使用游標時需要遵從以下的5個步驟 1 宣告一些變數,用於儲存select語句返回列值 2 宣告游標,並制定select語句 3...

oracle游標的使用

游標 cursor 也稱之為游標,從字面意思理解就是游動的游標。游標是對映在結果集中一行資料上的位置實體。游標是從表中檢索出 結果集,並從中每次指向一條記錄進行互動的機制。cursor 游標名 引數名 資料型別 引數名 資料型別 is select 語句 示例 無參游標 cursor c emp i...

ORACLE游標的使用

1 游標的說明 游標是一種向包含多條資料記錄的結果集中每次讀取一行的機制,逐行處理查詢結果,以程式設計的方式訪問資料庫。可以把游標當成指標,可以指定結果集中的任何位置,然後允許使用者對指定位置的資料進行操作。sql的游標是一種臨時資料庫物件,可以臨時存放資料表中的資料行副本,也可以指向儲存在資料表中...