SQL裡的游標巢狀

2021-09-22 10:37:46 字數 826 閱讀 6051

是游標裡面巢狀游標嗎?資料量大的話最好不要採用這種方法!

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