Mar*_*zák 0 sql t-sql sql-server
我试图使我的数据库名称可配置为能够运行这样的事情:
declare @x nvarchar(MAX)
declare @y nvarchar(MAX)
set @x = 'database1'
set @y = 'database2'
select * from @x.table1 INNER JOIN @y.table2 ON ....
Run Code Online (Sandbox Code Playgroud)
有没有办法在SQL Server 2016上实现它?非常感谢.
一种方法是使用SQLCMD变量:
:SETVAR x "database1"
:SETVAR y "database2"
SELECT * FROM $(x).dbo.table1 INNER JOIN $(y).dbo.table2 ON ....
Run Code Online (Sandbox Code Playgroud)
要在SSMS中运行SQLCMD脚本,请从"查询"菜单中打开SQLCMD模式.
如果使用该SQLCMD实用程序从命令行运行脚本,则可以省略SETVAR命令并将值作为命令行参数传递.
| 归档时间: |
|
| 查看次数: |
90 次 |
| 最近记录: |