Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 使用数据库名称作为变量_Sql_Variables_Replace_Set_Exec - Fatal编程技术网

Sql 使用数据库名称作为变量

Sql 使用数据库名称作为变量,sql,variables,replace,set,exec,Sql,Variables,Replace,Set,Exec,我使用此方法将DBname传递到变量中。然后,此变量将与类似以下内容一起使用: 从@DBname中选择列 但是,当执行时……您将获得成功完成的命令 有没有办法调整此方法,以便您可以看到查询结果?不仅仅是创建或更改数据库,这样的事情应该适合您 [[put code here that sets up @DBname]] DECLARE @stmt NVARCHAR(MAX) = 'SELECT column FROM ' + @DBname; EXEC sp_ExecuteSQL @stmt;

我使用此方法将DBname传递到变量中。然后,此变量将与类似以下内容一起使用:

从@DBname中选择列

但是,当执行时……您将获得成功完成的命令


有没有办法调整此方法,以便您可以看到查询结果?不仅仅是创建或更改数据库,这样的事情应该适合您

[[put code here that sets up @DBname]]
DECLARE @stmt NVARCHAR(MAX) = 'SELECT column FROM ' + @DBname;
EXEC sp_ExecuteSQL @stmt;

编辑:请注意,我假设您使用的是问题中未指定的SQL server。

这是有效的。我是SQL新手-不知道sp_ExecuteSQL。非常感谢。没问题。请将答案标记为已接受,以便人们能够轻松看到解决方案。谢谢