我有一个 Microsoft SQL 存储过程,我想通过传递到其中的变量来设置其列名:
CREATE PROCEDURE [My_Procedure]
@myDynamicColumn varchar(50)
AS BEGIN
SELECT 'value' AS @myDynamicColumn
END
这不起作用(“语法不正确”)。如果我用 [ ] 将列名括起来:
SELECT 'value' AS [@myDynamicColumn]
列名称按字面意思输出为“@myDynamicColumn”,而不是实际值。有什么办法可以做到这一点吗?我研究过动态 SQL 文章,但没有什么完全符合我的要求。
最佳答案
EXEC ('SELECT ''value'' AS ' + @myDynamicColumn)
关于SQL:根据变量选择动态列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5637983/