Ответ 1
Пакеты обеспечивают следующие преимущества:
- Сплоченность: все процедуры и функции, относящиеся к определенной подсистеме, находятся в одном программном модуле. Это просто хорошая практика проектирования, но также легче управлять, например. в управлении источниками.
- Константы, подтипы и другие полезные вещи: там больше PL/SQL, чем хранимые процедуры. Все, что мы можем определить в спецификации пакета, можно разделить с другими программами, например пользовательскими исключениями.
- Перегрузка: возможность определять процедуру или функцию с тем же именем, но с разными сигнатурами.
- Безопасность: определение частных процедур в корпусе пакета, которые могут использоваться только пакетом, поскольку они не отображаются в спецификации.
- Обмен общим кодом: другое преимущество частных процедур.
- Нам нужно только предоставить EXECUTE на пакете, а не на нескольких процедурах.