Sql server 在sql查询中声明Databasename

Sql server 在sql查询中声明Databasename,sql-server,tsql,Sql Server,Tsql,我正在为仪表板准备一组sql查询。我想在开始时声明数据库名称,这样查询就可以在上面指定的数据库上工作,而不会对底层代码进行任何更改 原始查询: SELECT * FROM Check.dbo.Dates_table 我想要的查询: DECLARE @Databasename VARCHAR(200) SET @Databasename = 'Check.dbo' SELECT * FROM @Databasename.Dates_table 您可以使用“使用”操作符: 为什么不简单

我正在为仪表板准备一组sql查询。我想在开始时声明数据库名称,这样查询就可以在上面指定的数据库上工作,而不会对底层代码进行任何更改

原始查询:

SELECT * 
FROM Check.dbo.Dates_table
我想要的查询:

DECLARE @Databasename VARCHAR(200)
SET @Databasename = 'Check.dbo'

SELECT * FROM @Databasename.Dates_table   
您可以使用“使用”操作符:


为什么不简单地更改连接或发出
使用[somedb]
命令?为什么要尝试将其作为参数传递?在任何情况下,数据库都不是一个值,因此不能将其视为一个参数。@Dante,谢谢你,你真是太好了,但是如果你接受这个答案,那就更好了,以后,当你自己的声誉超过15分时,就可以对捐款进行投票。
use Check

SELECT * FROM dbo.Dates_table