我想使用遊標更新我擁有的表,但我沒有任何運氣。這就是爲什麼我想使用一個遊標,我不必花費數小時來編寫100條更新語句。這裏是我當前的代碼:帶有遊標和變量的更新表
DECLARE @COLUMN_NAME VARCHAR(10)
DECLARE A_Cursor CURSOR
FOR
SELECT column_name
FROM TPP_DB.INFORMATION_SCHEMA.columns
WHERE table_name = 'Master File'
AND column_name LIKE 'F%'
AND LEN(column_name) <= 4
AND column_name NOT IN ('F61', 'F62') --FOR UPDATE OF [TPP_DB].[dbo].[Master File]
OPEN A_Cursor
FETCH NEXT FROM A_Cursor INTO @COLUMN_NAME
WHILE @@fetch_status = 0
BEGIN
PRINT @COLUMN_NAME
UPDATE TPP_DB.dbo.[Master File]
SET @COLUMN_NAME = NULL
WHERE @COLUMN_NAME = ''
FETCH NEXT FROM A_Cursor INTO @COLUMN_NAME
END
CLOSE A_Cursor
DEALLOCATE A_Cursor
我遇到的主要問題是,我的變量@COLUMN_NAME
是沒有得到更新語句加載,但是當我打印出來,我得到正確的值。我希望將變量讀入SET
和WHERE
子句中,以便我可以一次更新所需的所有表。任何其他建議也會很棒。
非常感謝你的工作。 –