Выбор таблицы SQL - PullRequest
       3

Выбор таблицы SQL

3 голосов
/ 11 февраля 2011

Я пытаюсь создать некоторые средства для динамического выбора таблицы для запуска процедуры на основе идентификатора, отправленного в базу данных. Что-то вроде:

@TableId int
As

Declare @nameoftable varchar(50)

select @nameoftable = Nameoftable from tablelist where id = @tableid


-- returning on selected table

Select somestuff
from @nameoftable

Есть идеи?

Ответы [ 2 ]

3 голосов
/ 11 февраля 2011

Вам нужно использовать динамический SQL

@TableId int
As

Declare @nameoftable varchar(50)
select @nameoftable = Nameoftable from tablelist where id = @tableid

-- returning on selected table

declare @sql nvarchar(1000)
set @sql = 'Select somestuff from ' + Quotename(@nameoftable)
exec(@sql)
2 голосов
/ 11 февраля 2011

В MS SQL Server вы можете использовать sp_executesql для выполнения динамических запросов.Прочитайте Проклятие и благословения динамического SQL , оно мне очень помогло.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...