Введение

Когда использовать PL/SQL

PL/SQL нужно использовать, когда:

Коротко по каждому из пунктов.

Инкапсуляция

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

Недостаточно возможностей SQL

Здесь лучше подойтет пример. Предположим, нам нужно реализовать логику:

  1. Если значение некоего параметра, назовем его `quantity`, больше 100, то:
  2. Удалить некоторые строки из таблицы A.
  3. Иначе:
  4. Изменить некоторые строки в таблице B

Пункты 2 и 3 легко реализуются на чистом SQL. Связки 1-2 и 3-4 также можно реализовать на SQL, но условное выполнение 2 либо 4 возможно только при добавлении возможностей ветвления PL/SQL.

Сопровождаемость

В один монстрообразный SQL-запрос можно засунуть много сложной логики, и в целом так и нужно поступать, но лишь до тех пор, пока ты уверен, что он:

Если есть сомнения, лучше разделить функционал на более простые части(используя хранимые процедуры, например) и реализовать каждую из них отдельно.