close

整理工作上的筆記,在DB中非常少會使用到Cursor來回圈處理資料

真的有非常複雜要處理的資料,否則還是不建議使用Cursor

簡單用sys.all_obkects來做為範例

 

SET NOCOUNT ON

DECLARE @TableName NVARCHAR(100)
DECLARE @List NVARCHAR(MAX) = ''

--宣告資料指標內容
DECLARE MYCURSOR CURSOR FOR
(
    SELECT name FROM sys.all_objects WHERE type = 'U'
)
--開啟資料指標
OPEN MYCURSOR
--取得資料指標內第一筆資料
FETCH NEXT FROM MYCURSOR INTO @TableName
--當成功取的資料進入處理程序
WHILE @@FETCH_STATUS = 0
BEGIN
    ----資料處理區----
    SET @List = @List + @TableName + '_'
    ------------------
    --取得下一筆資料
    FETCH NEXT FROM MYCURSOR INTO @TableName
END
--關閉資料指標
CLOSE MYCURSOR
--移除資料指標參考
DEALLOCATE MYCURSOR 

arrow
arrow
    文章標籤
    T-SQL SQL Server
    全站熱搜

    Louis 發表在 痞客邦 留言(0) 人氣()