相信SQL語法的迴圈While大家都會用。
但遇到要將select過後的資料表的資料錄一筆一筆寫到新資料表時,該怎麼辦呢?

-- 宣告變數
DECLARE @變數1 VARCHAR(50) 
DECLARE @變數2 VARCHAR(50)
DECLARE @變數3 VARCHAR(50)

-- 指定變數, 視個人需要, 也可不指定初始值
SET @變數1 ='字串' 
SET @變數2 ='字串' 
SET @變數3 ='字串' 

-- 重點!! 宣告指標變數
DECLARE 指標變數 CURSOR FOR
SELECT 欄位1 ,欄位2 ,欄位3 FROM TABLE1

-- 啟用指標變數
OPEN 指標變數
-- 以指標變數為基準點, 將取出的欄位值, 設定給我們自訂的變數
FETCH NEXT FROM 指標變數 INTO @變數1,@變數2,@變數3

WHILE @@FETCH_STATUS = 0
BEGIN 
    insert into TABLE2(欄位1 ,欄位2 ,欄位3) values(@變數1,@變數2,@變數3)

    -- 指標變數往下移動, 並將取出的欄位值, 設定給我們自訂的變數
    FETCH NEXT FROM 指標變數 INTO @變數1,@變數2,@變數3
END

-- 關閉指標變數
CLOSE 指標變數
-- 釋放指標變數
DEALLOCATE 指標變數

arrow
arrow
    全站熱搜

    伊 發表在 痞客邦 留言(1) 人氣()