好吧所以说我的代码看起来像这样。
CREATE Table database_info
(
DBName NVARCHAR (MAX)
);
INSERT INTO database_info (DBName)
VALUES ('db1')
SELECT * FROM database_info
DECLARE @temp nvarchar(MAX)
SET @temp = (SELECT DBName FROM database_info where database_info.DBName = 'db1')
--How I want it to work SELECT * FROM @temp
我是否可以对此临时变量执行任何操作以使字符串充当常规SQL命令?
由于
答案 0 :(得分:4)
您可以使用EXEC
执行动态sql。现在,在这种情况下声明@sql
变量会非常多,但是当你不确定要传递给它的语句的长度时它会很有用。
DECLARE @sql AS VARCHAR(MAX)
SET @sql = 'SELECT * FROM ' + @temp
EXEC(@sql)