作者DGnzj (DG)
看板Database
標題Re: [SQL ] 想請教cursor的用法
時間Thu Nov 22 16:58:24 2012
※ 引述《happylifesun (k)》之銘言:
: 大家好:
: 目前第一次接觸到cursor,爬了一些文,但還是看不太懂用法
: 以下查到的說明:
: Declare @CursorName Cursor
: Set @CursorName = Cursor
: For Select Statement
: Open @CursorName
: Fetch Next From @CursorName Into 變數,……
: While (@@FETCH_STATUS = 0}
: Begin
: Do some things
: Fetch Next From @CursorName Into 變數,……
: end
: Close @CursorName
: Deallocate @CursorName
: 想請教如何撰寫?
以下分享我之前找到的範例改之後的程式,若有錯誤或可改進的地方請各位指正
/*****SQL開始囉*******/
DECLARE @uid int, @age int
--宣告CURSOR定指定資料來源
DECLARE
cursor1 CURSOR FOR
-- 撈資料寫在下面
(
Select uid,age from [memberdata].[dbo].[member_detail]
)
-- 撈資料不要超過這邊
--開啟CURSOR
OPEN
cursor1
FETCH NEXT FROM
cursor1 INTO @uid ,@age -- 把我撈出的欄位放到變數去
WHILE(
@@FETCH_STATUS=0) -- 當還有資料時繼續While Loop
BEGIN
select @uid,@age
--你可以呼叫sp、做Update或刪除之類的,自由發揮
--接著更新下一筆資料到變數去
FETCH NEXT FROM cursor1 INTO @uid , @age
END
--關閉CURSOR
CLOSE
cursor1
--釋放CURSOR
DEALLOCATE
cursor1
/******SQL結束囉*******/
以上程式的目的:
就只是單純把member_dtail的資料表撈出來,逐筆顯示而以(臨時想不到要寫啥)
--
漫長的RD之路~
終點站等著我的是......
另一種新語言誕生~..........by DG~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.76.190.21