2008年3月7日 星期五

SQL Server中利用「Cursor」取得每一筆資料

左方資料表,如何將其資料一筆一筆的讀取出來進行運算呢?可以使用「Cursor」來達到我們所要的要求!!
*右圖為依序取出資料的結果~

以下為簡單的應用

語法:

declare @no nchar(2)
declare @name nchar(10)
-----宣告讀取資料的cursor------
declare city_cursor
CURSOR for
SELECT City_no,City_name from dbo.City

open city_cursor --開啟COLUMN_cursor

fetch next from city_cursor into @no,@name --把取出來的值存入變數
while @@FETCH_STATUS = 0
--判斷city_cursor是否還有資料
begin
print '編號:'+ @no
print '地區:'+@name
fetch next from city_cursor into @no,@name--進行下一筆
end
close city_cursor --關閉city_cursor
DEALLOCATE city_cursor --移除city_cursor


沒有留言: