从FROM子句中的变量连接表名

时间:2012-03-22 05:25:45

标签: sql-server-2008

我正在尝试在sql server 2008中使用动态生成的完全限定表名。例如,这不起作用:

select max([id]) from @dbName+N'.[T1]'

这会产生如下错误:

  

Msg 102,Level 15,State 1,Line 73

     

'+'附近的语法不正确。

我知道这样的事情有效:

declare @qualifiedTable varchar(200) = @dbName+N'.[T1]'
select max([id]) from @qualifiedTable 

但我必须做很多次,所以我真的很想排队。有可能吗?

1 个答案:

答案 0 :(得分:2)

这应该有效:

sp_executesql N'select (max([id]) from ' + @dbName + '.dbo.[T1]';