SET NOCOUNT ON
DECLARE @NO VARCHAR(10) --存放抓取的資料
-- DECLARE 游標名稱 CURSOR FOR 你的SQL
DECLARE MYCURSOR CURSOR FOR
SELECT ORDNO FROM [dbo].[TableName]
-- 開啟游標
OPEN MYCURSOR
-- 抓取資料並寫到 @NO
FETCH NEXT FROM MYCURSOR INTO @NO
-- 如果@@FETCH_STATUS = 0 (FETCH 陳述式成功) 就跑迴圈
-- http://technet.microsoft.com/zh-tw/library/ms187308.aspx
WHILE @@FETCH_STATUS = 0
BEGIN
--<這裡寫要跑的程式>
-- 抓下一筆
FETCH NEXT FROM MYCURSOR INTO @NO
END
CLOSE MYCURSOR
DEALLOCATE MYCURSOR
SELECT * FROM @TEMP
GO
參考連結
*本文架構參考
http://sweeteason.pixnet.net/blog/post/37301872-%E5%88%A9%E7%94%A8-sql-cursor-%E8%B7%91%E8%BF%B4%E5%9C%88%E7%9A%84%E7%94%A8%E6%B3%95
*Cursor詳解
http://www2.kuas.edu.tw/prof/cyt/Lecture/SQL%20Server/SQL%BDd%A8%D2_6Cursor.sql
留言
張貼留言