Динамическое обращение к таблице из VIEW

Рейтинг: 1Ответов: 1Опубликовано: 04.09.2014

Необходимо создать VIEW к последней загруженной таблице, результат из запроса из 3 строк:

declare @last_table varchar (14);
select TOP 1 @last_table = TABLE_NAME from INFORMATION_SCHEMA.TABLES order by (длинный параметр) desc;
exec ('select * from '+@last_table);

Однако в VIEW нельзя использовать ни declare, ни exec, выход - использовать запрос к функции, в которой будет всё это. Но функции тоже не могут получать значения из Exec, казалось бы insert into #temptable exec процедура должна это исправить, но опять же Exec невозможно использовать в функции.

Вопрос: есть ли функция вида всятаблица('имя таблицы') или как выполнить exec из функции в минимум строк кода?

Ответы

▲ 1

В вашем случае лучше делать exec (' alter view... ') из ddl-триггера и потом обращаться к измененному представлению.