Я хочу обратить столбец данных динамически, передавая имя таблицы и столбцареверса столбец данных путем динамического прохождения имени таблицы и столбца Имя
DECLARE @TABLE_NAME NVARCHAR(300) -- to pass table name dynamically
DECLARE @COLUMN_NAME NVARCHAR(300) -- to pass column name dynamically
SET @TABLE_NAME = 'TEST1' -- Passing table name
SET @COLUMN_NAME = 'SSN' -- Passing column Name
DECLARE @OUTPUT NVARCHAR(MAX) -- to pass the selected column data to update
SET @OUTPUT = 'SELECT'+' '[email protected]_NAME+' '+'FROM'[email protected]_NAME
DECLARE @UPDATE_EXEC NVARCHAR(MAX) -- To exec the Final update result
SET @UPDATE_EXEC = 'UPDATE ['[email protected]_Name + ']'+'SET'+' '[email protected]_NAME+
'=REVERSE(EXEC (@output))'
EXEC(@UPDATE_EXEC)
Но я получаю эти ошибки:
Msg 156, Level 15, State 1, Line 1
Неверный синтаксис рядом с ключевым словом «EXEC».Msg 137, Level 15, состояние 2, строка 1
Необходимо объявить скалярную переменную "@output"
Вы не можете помещать EXEC в любой запрос. –
SET @UPDATE_EXEC = 'UPDATE [' + @ TABLE_Name + ']' + 'SET' + '' + @ COLUMN_NAME + '= REVERSE (' + @ COLUMN_NAME + ')' –
@AnilAgrawal Пожалуйста, внесите ваши ответы в качестве реальных ответов, а не Комментарии. – iamdave