Mssql динамические where внутри хранимой процедуры?

Привет mssql монстры и монстрики = )

Ситуация такая: есть толстая хранимая процедура, там несколько временных таблиц и вообще всего. В конце процедуры создается таблица с результирующими нужными данными

DECLARE @search table ( .... )<br/>
INSERT INTO @search (...) select ... union select ....<br/>


Передаю в хранимку параметр @where [varchar](500)


сам параметр выглядит примерно так:
SET @where = 'SELECT * FROM @search WHERE id &gt; 0 AND name like ''%apple%'''



и в конце процедуры я пытаюсь сделать так:

EXEC(@words)


НО, как известно, exec создает свой контекст и код не видит врем. таблицу Demian Smith.

Вопрос — можно ли сделать так чтоб увидеть эту таблицу(@search) внутри exec?

Как можно выбрать из этой хранимки то что надо? (если попытаться сделать внешнюю временную таблицу и в нее сделать
INSERT INTO @newTemp exec [dbo].[search_proc] — выдает ошибку о вложенных exec. (в процедуре этой самой уже есть выполнение и вставка их в таблицы — временные)
  • Вопрос задан
  • 4089 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы