我是在SQL Server2008 R2上运行的。
在编写从sys.servers查询的查询时,可以使用变量名吗?
DECLARE @hostname varchar(20)
SET @hostname = '192.168.110.101'
SELECT TOP(10) * FROM [@hostname].databasename.dbo.tablenamereturn“在sys.servers中找不到服务器'@hostname‘。请验证是否指定了正确的服务器名称。如有必要,请执行存储过程sp_addlinkedserver以将该服务器添加到sys.servers。”
它似乎在尝试使用@hostname,而不是变量实际设置的值。我也试过移除支架,但这也不起作用。有什么想法吗?
发布于 2013-06-18 07:46:07
DECLARE @SQL as varchar(max)
SET @SQL = 'SELECT TOP 10 * FROM '
DECLARE @hostname varchar(20)
SET @hostname = '192.168.110.101'
SET @SQL = SQL + @hostname + '.databasename.dbo.tablename'
EXEC (@SQL)https://stackoverflow.com/questions/17158186
复制相似问题