Подтвердить что ты не робот

SQL: выберите динамическое имя столбца на основе переменной

У меня есть хранимая процедура Microsoft SQL, имя столбца которой я хочу установить через переменную, которая передается в нее:

CREATE PROCEDURE [My_Procedure]
   @myDynamicColumn varchar(50)
AS BEGIN
   SELECT 'value' AS @myDynamicColumn
END

Это не работает ( "Неправильный синтаксис" ). Если я обвяжу имя столбца с помощью []:

SELECT 'value' AS [@myDynamicColumn]

Имя столбца буквально выводится как "@myDynamicColumn" вместо фактического значения. Есть какой-либо способ сделать это? Я изучил динамические статьи SQL, но ничего не то, о чем я прошу.

4b9b3361

Ответ 1

EXEC ('SELECT ''value'' AS ' + @myDynamicColumn)

Ответ 2

Вы можете создать свой запрос в строке и использовать exec

CREATE PROCEDURE [My_Procedure]
   @myDynamicColumn varchar(50)
AS BEGIN
   EXEC('SELECT ''value'' AS ' + @myDynamicColumn)
END