Сначала, чтобы сделать это правильно, вы должны использовать блоки TRY CATCH в дочерних пакетах.Они должны вернуться к вызывающему процессу в случае ошибки.Таким образом, вы также можете вернуть код ошибки вызывающему процессу, если результаты неожиданны, например, временная таблица с нулевыми записями, которая не является ошибкой, но может привести к сбою последующих процессов.
Далее, почему вы вообще используете дочерние процессы?Честно говоря, это то, что, вероятно, лучше сделать в одном процессе.Вы говорите, например, что вы создаете временные таблицы в одном процессе, который вы используете в последующих процессах.Для этого вам нужны глобальные временные таблицы.Проблема в том, что глобальные временные таблицы не являются специфическими для первоначального соединения, которое их вызвало, и поэтому два человека, пытающиеся сделать это одновременно, могут перепутать свои данные.Принимая во внимание, что если вы используете один proc и локальные временные таблицы, этого не может быть.