0
テーブルからテーブル名と列名を入力しようとすると(テーブルと列を変更する列名を持つ)、変数に列名を入力し、カーソルを使用して入力列値を更新する
SET @TABLE_1='TABLE_NAME'-- INPUT TABLE_NAME
SET @COLUMN_NAME='COLUMN_NAME'--INPUT COLUMN_NAME
FETCH文は、各レコードの変数に値を入れます。表(入力、変更するテーブルから受け取った)
DECLARE @TABLE_1 NVARCHAR(MAX)--Passing Table name to Modify
DECLARE @COLUMN_NAME NVARCHAR(300)--Passing Column name to modify
DECLARE INPUT_CURSOR CURSOR FOR
/*Actual Table contains which Table and Column to modify*/
SELECT TABLE_NAME,COLUMN_NAME FROM INPUT
OPEN INPUT_CURSOR
FETCH NEXT FROM INPUT_CURSOR INTO @TABLE_1, @COLUMN_NAME
WHILE @@FETCH_STATUS=0
BEGIN
SET @TABLE_1='TABLE_NAME'-- INPUT TABLE_NAME
SET @COLUMN_NAME='COLUMN_NAME'--INPUT COLUMN_NAME
DECLARE @EXEC_SQL NVARCHAR(MAX)--To execute Dynamic SQL Update Statement
SET @EXEC_SQL= 'UPDATE'+' ['[email protected]_1+'] '+'SET'+'
'[email protected]_NAME+'=REVERSE((999999999-'[email protected]_NAME+'))'
EXEC(@EXEC_SQL)
FETCH NEXT FROM INPUT_CURSOR INTO @TABLE_1,@COLUMN_NAME
END
CLOSE INPUT_CURSOR
DEALLOCATE INPUT_CURSOR
Receiving Error
Msg 208, Level 16, State 1, Line 1
Invalid object name 'TABLE_NAME'.
Msg 208, Level 16, State 1, Line 1
Invalid object name 'TABLE_NAME'.
Msg 208, Level 16, State 1, Line 1
Invalid object name 'TABLE_NAME'.
Msg 208, Level 16, State 1, Line 1
Invalid object name 'TABLE_NAME'.