SQL - 从变量中选择

时间:2016-03-31 09:30:03

标签: sql sql-server sql-server-2012 dynamic-sql

我试图找到一个替代方案,将变量的内容设置为一个大型查询,我在其中动态替换值。 有可能做这样的事吗?

declare @serv nvarchar(max)
set @serv = '[linkedServName].[dataBaseName]'
select top 10 * from @serv.dbo.someTable

如果是,您能否告诉我正确的语法?

感谢您的时间

1 个答案:

答案 0 :(得分:2)

如果要参数化您选择的服务器和数据库,则必须使用动态sql。试试这个:

declare @serv nvarchar(max)
declare @qry nvarchar(max)

set @serv = '[linkedServName].[dataBaseName]'
set @qry = 'select top 10 * from ' + @serv + '.dbo.someTable'

exec(@qry)