前 一篇 ,說明了如何利用 table 變數接撈回來的資料,這邊在利用 cursor 來處理資料。
--宣告 cursor 變數,這個變數無需加上 @ 的符號,需要再用 for 後面接一個 select 的句子 --這時, SQL Server 會將 Select 的查詢結果放置在記憶體中 declare MyCursor cursor for select * from @MyTable --@MyTable 為資料來源變數 open MyCursor --利用 open 指令開始 cursor -- 以下定義變數群,用來接收 cursor 傳回來的值, -- 由於值還不確定,所以並不需要定義資料型別,只需定義為 sysname declare @ID sysname declare @Name sysname ----------------------------------- --利用 fetch next from 的指令,將 cursor 的資料傳送到變數 FETCH NEXT from MyCursor INTO @ID,@Name while(@@FETCH_STATUS <> -1) --代表 cursor 不是最後一筆的話,則進入迴圈,代表一筆一筆取出資料 BEGIN --do soming 這邊印出值,再利用 fetch next from 指令取得 下一筆資料 print @ID FETCH NEXT from MyCursor INTO @ID,@Name END CLOSE MyCursor --關閉 cursor DEALLOCATE MyCursor --將 cursor 從記憶體釋放掉
0 Comments:
張貼留言