1. 程式人生 > >sql 利用遊標遍歷一個查詢結果

sql 利用遊標遍歷一個查詢結果

這裡有一個單位表
unitT

Idname
1單位1
2單位2

有一個評分專案表
itemT

Idname
1專案1
2專案2

有一個單位得分表
scoreT

IdunitIditemidscore
11120
22150
31230
42260

現在需要遍歷所有單位將他們的分數查詢出來,就用迴圈遍歷的方法

當前我使用的是遊標方法,還有其他遍歷方式。

--定義變數,用於儲存當前被遍歷到的值
declare @a nvarchar(40); 
--遞迴,首先需要遞迴的空間,定義一個遊標指向這個空間
declare mycursor cursor for
select id from unitT --開啟遊標 open mycursor --開始遍歷,將下一行的資料存入兩個變數中 fetch next from mycursor into @a while (@@fetch_status=0)--如果下一行還有資料 begin--開始遍歷 select * from scoreT where [email protected]a fetch next from mycursor into @--再下一行 end--遍歷結構結束 close mycursor--關閉遊標 deallocate mycursor--刪除遊標 --遍歷完成