是游標裡面巢狀游標嗎?資料量大的話最好不要採用這種方法!
這是sql server的:
declare cur_1 cursor--第一層游標宣告
for select c_1,c_2 from tablename
open cur_1
fetch next from cur_1 into @c_1,@c_2
while @@fetch_statues<>0
begin
declare cur_2 cursor--第二層游標宣告
for select a_1,a_2 from tablename
open cur_2
fetch next from cur_2 into @c_1,@c_2
while @@fetch_statues<>0
begin
.....
.....
fetch next from cur_2 into @a_1,@a_2--二層迴圈
endclose cur_2
deallocate cur_2
fetch next from cur_1 into @c_1,@c_2--一層迴圈
endclose cur_1
deallocate cur_1
怎麼才叫簡單游標,上面的是游標的基本框架,也就是:宣告游標declare
開啟游標open
游標迴圈fetch next from.......
關閉游標close
釋放游標deallocate
分類:
sql
sql 雙層游標巢狀
建立儲存資料臨時表 create table temp dep temp depid varchar 50 temp depname varchar 50 temp name varchar 5000 向臨時表中插入前三列資料 insert into temp dep temp depid,temp...
關於游標巢狀
游標巢狀使用時,fetch status的值有時會從內部游標影響到外部的游標,使外部的游標只迴圈一次。這時要檢查游標的使用方法。要先移動游標,然後就開始判斷,為真進行進行業務邏輯處理,然後移動游標,這樣就沒問題了。示例如下 declare 外層游標 open 外層游標 fetch next 提取外層...
巢狀游標的原理
fetch status 屬於任何游標的,只要任何乙個游標被提取了,這個提取成功與否的狀態就會儲存到 fetch status中.巢狀游標的原理類似這樣 declare 外層游標 open 外層游標 fetch next 提取外層游標行 while fetch status 0 begin decl...