DB2巢狀游標

2021-04-15 01:19:52 字數 1259 閱讀 8527

p1:begin

declare v_did varchar(10);

declare v_dname varchar(10);

declare v_tid varchar(10);

declare v_tname varchar(10);

declare i_seq integer default 0;

declare not_found condition for sqlstate '02000';

declare at_endc1 int default 0;

declare at_endc2 int default 0;

p2: begin  -- open department

declare cursor1 cursor for

select did,dname from department;

declare continue handler for not_found set at_endc1 = 1;

open cursor1;

--遍歷 cursor1

while(at_endc1 < 1) do

fetch cursor1 into v_did,v_dname;

p3:begin

declare cursor2 cursor for

select id, name from teacher where did=v_did and dname=v_dname;

declare continue handler for not_found set at_endc2 = 1;

open cursor2;

if (at_endc1 = 0) then

set at_endc2 = 0;

end if;

--遍歷 cursor2

while(at_endc2 < 1) do

fetch cursor2 into v_tid,v_tname;

insert into student(id, name, tid, tname, did, dname) values(i_seq,char(i_seq),v_tid,v_tname,v_did,v_dname);

set i_seq=i_seq+1;

end while;

close cursor2; 

end p3;

end while;

close cursor1;

end p2;

end p1 

db2巢狀查詢效率 DB2資料庫SQL優化方法一列

optimize for 子句宣告只想檢索部分結果或者優先檢索前幾行,優化器可以選擇能夠將檢索前幾行所需的響應時間縮至最短的訪問方案。此外,作為單個塊傳送到客戶機的行數由 n 的值限制。因此,optimize for 子句既影響伺服器從資料庫檢索合格行的方式,又影響將那些行返回給客戶機的方式.例如,...

DB2儲存過程 靜態游標和動態游標概念

靜態游標在開啟時會將資料集儲存在tempdb中,因此顯示的資料與游標開啟時的資料集保持一致,在游標開啟以後對資料庫的更新不會顯示在游標中。動態游標在開啟後會反映對資料庫的更改。所有update insert 和 delete 操作都會顯示在游標的結果集中,結果集中的行資料值 順序和成員在每次提取時都...

DB2管理非預設 db2 例項

檢視db2所有例項 c documents and settings administrator db2ilist db2c documents and settings administrator db2 get instance 當前資料庫管理器例項是 db2 建立新例項 c documents...