我想在一个变量中声明SQL Server名称,这样只需更改服务器名称,就可以在任何服务器上运行查询。
DECLARE @ServerName NVARCHAR(100)
SET @ServerName = 'dbServer'
[@ServerName].[dbo].[Product]
发布于 2018-12-07 07:34:38
SQL Server不支持宏替换,就像在SQL代码中一样。
一种可能的解决方案是使用动态SQL。但是,在使用此技术时一定要注意POSTed注入;不要从SQL值设置变量。
DECLARE @ServerName nvarchar(100)
SET @ServerName = 'dbServer';
DECLARE @SQL varchar(max)
SET @SQL = 'SELECT * From ' + QUOTENAME(@ServerName) + '.[dbo].[Product]'
Exec(@SQL)
https://stackoverflow.com/questions/53661201
复制相似问题