В настоящее время у нас есть запрос, который прогнозирует доход для продуктов с прямым дебетом. Этот запрос использует постоянные таблицы, противоположные темповым таблицам, поскольку запрос использует динамические SQL и временные таблицы, которые не могут быть замечены за пределами выполнения этого динамического SQL-исполнения.Сохраненная процедура с использованием глобальных временных таблиц из-за динамического SQL
Что я хочу сделать, это поместить их в хранимую процедуру, используя глобальные временные таблицы, чтобы обойти проблему вне сферы с помощью временных таблиц. Мой вопрос в том, что они никогда не запускаются параллельно и только последовательно удаляются эти глобальные таблицы temp после того, как хранимая процедура запускается, как обычные временные таблицы? Или потому, что они глобальные, они останутся в tempdb?
Также обратите внимание, что я рассмотрел метод вставки в таблицу, но, к сожалению, в соответствии с моим комментарием ниже мы используем около 1000 таблиц для создания окончательного вывода.
Существуют альтернативы глобальным временным таблицам, например, использование 'insert. , , exec'. Возможно, вы захотите рассмотреть другие решения. –
Привет, я не могу сделать так, чтобы это было сложно. Сам запрос генерирует таблицу за каждый месяц года за предыдущий доход за 12 лет. Тогда у нас есть 7 различных товарных линий, так что 7 * 12 * 12 так много маленьких таблиц. К сожалению, это то, что я унаследовал и не создал сам. – Jackt153
Я где-то читал (не помню): если вы создаете глобальную таблицу temp, таблица будет доступна для других сеансов ТОЛЬКО, пока ваше соединение не будет живым. Если вы отключитесь и NO ONE находится в середине чтения данных из этой таблицы, таблица упадет. Это означает, что если вы отключите, тот, кто читает таблицу форм, успешно завершит свою операцию, и таблица упадет сразу после того, как все остальные сеансы ничего не сделают с таблицей. Я проверил это, и это правда. – FLICKER