Объединить имя таблицы из переменной в предложении FROM - PullRequest
0 голосов
/ 22 марта 2012

Я пытаюсь использовать динамически генерируемое полное имя таблицы в SQL Server 2008. Например, это не работает:

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

Это выдаст ошибку вроде:

Сообщение 102, Уровень 15, Состояние 1, Строка 73

Неверный синтаксис рядом с '+'.

Я знаю, что что-то вроде этого работает:

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

Но я должен делать это много раз, поэтому я действительно хотел бы сделать это в соответствии. Возможно ли это?

1 Ответ

2 голосов
/ 22 марта 2012

Это должно работать:

sp_executesql N'select (max([id]) from ' + @dbName + '.dbo.[T1]';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...