как выбрать записи из таблицы, когда имя таблицы отправляется в качестве параметра в функцию MS SQL - PullRequest
0 голосов
/ 22 ноября 2011

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

Кто-нибудь может мне помочь?

Ответы [ 2 ]

4 голосов
/ 22 ноября 2011

Вам нужно построить свой запрос динамически.Взгляните на Проклятие и благословения динамического SQL для получения дополнительной информации.

declare @TableName sysname = 'TableName'
declare @sql nvarchar(max) = 'select * from '+quotename(@TableName)
exec (@sql)

В качестве хранимой процедуры это будет выглядеть так:как указано в комментарии Рашми Кант Шриваства , нельзя использовать динамический SQL в пользовательских функциях.

1 голос
/ 22 ноября 2011

вы не можете использовать динамический SQL-запрос внутри функции.для достижения желаемого результата вы можете воспользоваться функцией sql-CLR

вы можете проверить эту ссылку или эту она может вам помочь

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