Вызов хранимой процедуры в хранимой процедуре - PullRequest
0 голосов
/ 25 апреля 2011

Мой вопрос:

Вызов сохраненного процесса внутри сохраненного процесса внутри другого сохраненного процесса.Когда этот тип разработки наносит ущерб?

Чтобы способствовать повторному использованию кода, мы включили различные операторы вставки / обновления в хранимые процедуры.Поэтому, если вы хотите вставить запись Foo, вы должны передать параметры в сохраненный процесс CreateFoo и продолжить свой день.

Хорошо, давайте предположим, что объект Foo должен создать A Bar объекты, которые также создают Mark объект.

Таким образом, ваш сохраненный процесс вызовет foo сохраненный процесс, который затем вызовет bar сохраненный процесс, который затем вызывает mark сохраненный процесс.

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

1 Ответ

3 голосов
/ 25 апреля 2011

Это не хорошо или плохо - если вам нужно вызвать одну процедуру из другой, просто сделайте это.

Реализация логики на уровне базы данных в хранимых процедурах не является хорошим способом решения проблем в большинстве случаев:

  • это делает ваше приложение зависимым от этой конкретной СУБД
  • сложнее масштабировать приложение на уровне базы данных, чем масштабировать его на среднем уровне.
  • это усложняет отладку (если вы не можете установить точку останова в вашем SP)
  • Язык SP (SQL) обычно не гибкий и мощный, как язык среднего уровня

Но для некоторых приложений (и это может быть ваш случай) лучше использовать SP - когда плюсы минуют плюсы: простая и быстрая реализация логики на языке, который вы знаете лучше.

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