如何在给定其名称字符串的情况下访问数据库

时间:2014-08-01 18:01:32

标签: sql tsql

好吧所以说我的代码看起来像这样。

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命令?

由于

1 个答案:

答案 0 :(得分:4)

您可以使用EXEC执行动态sql。现在,在这种情况下声明@sql变量会非常多,但是当你不确定要传递给它的语句的长度时它会很有用。

DECLARE @sql AS VARCHAR(MAX)
SET @sql = 'SELECT * FROM ' + @temp
EXEC(@sql)