Задать вопрос
@illaaa

Как засунуть exec в табличную функцию?

В базе есть таблицы с нумерацией (например, clients_1, clients_2) , каждый месяц номер меняется. Хочу сделать табличную функцию, которая возвращала бы определенных клиентов, подавая на вход просто число 1/2...
Внутри функции с помощью динамического sql формируется запрос с именем нужной таблицы, например:
declare @tableNumber varchar(100)  --  на входе подаем 1/2/3...
declare @sql varchar(100)

set @sql = '
select *
into #tempTable
from dbo.clients_' + @tableNumber

exec(@sql)

return #tempTable


Но внутри табличной функции нельзя exec использовать. Как альтернатива, я подумал, что можно засунуть это все в процедуру, но тогда я не смогу возвращать результат как таблицу, т.е. не смогу засунуть в запрос.
И создавая таблицу с помощью процедуры, ее потом нужно не забыть удалить.
Есть ли идеи, как это можно решить менее корявым способом?
  • Вопрос задан
  • 276 просмотров
Подписаться 1 Средний 2 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы