SQL Server: используйте одноименные глобальные временные таблицы в нескольких хранимых процедурах - PullRequest
0 голосов
/ 12 мая 2018

У меня есть несколько хранимых процедур, которые сначала удаляют, а затем заполняют глобальную временную таблицу с именем ##DataOutput. Это не все, что делают хранимые процедуры - просто в какой-то момент своего процесса они должны заполнить эту глобальную таблицу некоторыми данными, которые будут использовать другие процессы.

Структура ##DataOutput может немного измениться, она не всегда одинакова.

Даже если таблица удаляется в начале, иногда SQL Server выдает ошибку при вызове хранимой процедуры, поскольку ожидает столбец C (например), который будет сгенерирован в текущей хранимой процедуре, но не был в последней хранимой процедуре (то есть в настоящее время глобальная временная таблица ##DataOutput не имеет столбца C).

Есть ли способ запретить SQL Server проверять эти таблицы перед выполнением, поскольку эта таблица удаляется в начале хранимой процедуры?

Я знаю, что использование EXEC сделает его динамичным, но я бы хотел проверить другие варианты.

Спасибо.

1 Ответ

0 голосов
/ 12 мая 2018

У меня нет прямого ответа на вопрос, но я думаю, что вы могли бы обойти эту проблему, объявив таблицу со всеми возможными полями с самого начала.Таким образом, вы никогда не пропустите поле, которое еще не было добавлено в временную таблицу.

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