SQL: использование хранимой процедуры в хранимой процедуре - PullRequest
1 голос
/ 11 апреля 2011

У меня есть несколько хранимых процедур, которые возвращают пользователю один и тот же набор данных (одинаковые столбцы).Вызываемая хранимая процедура зависит от определенных условий.Эти хранимые процедуры являются довольно интенсивными и выполняются каждым пользователем системы.Я хотел бы создать хранимую процедуру, которая вызывает каждую из этих процедур и сохраняет данные в отдельной таблице.Затем я буду запускать эту новую хранимую процедуру каждые 5 минут или около того и позволять пользователям извлекать данные из новой таблицы.

T_OutboundCallList - это постоянная таблица с теми же столбцами, что и две хранимые процедуры.

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

BEGIN

TRUNCATE TABLE T_OutboundCallList


INSERT T_OutboundCallList EXECUTE p_LeadVendor_GetCallsForCallList

INSERT T_OutboundCallList EXECUTE p_CallLog_GetAbandonedCallsCallList

END

Каждая из процедур (* CallList) возвращает список вызовови я хочу, чтобы они были введены в новую таблицу в этом порядке (LeadVendor вызывает перед AbandonedCalls).Мне также нужно очистить таблицу перед добавлением вызовов, так как могут быть новые вызовы, которые должны быть выше в списке.

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

Спасибо, Брайан

1 Ответ

2 голосов
/ 11 апреля 2011

Не видя код в ваших * процессорах CallList, трудно сказать, какая у вас проблема.У вас должны быть команды вставки внутри вашей вложенной процедуры.Вы можете использовать результаты процедуры для вставки данных, но не так, как вы выше.Он использует OPENROWSET, и я думаю, вам будет лучше, чем я предлагал.

...