Вы можете разместить свои пакеты в разных SCHEMA
. Это не действительно «вложенные пакеты», но это может помочь вам, если вы хотите работать с разными пакетами, которые имеют одинаковые имена.
Например, вы можете создать две схемы research_department
и production_department
. В каждой схеме вы можете создавать пакеты с таким же именем, например. accountant_service
, и в каждом пакете мы можем создать процедуры calc_salary()
.
Затем вы можете вызывать процедуры, используя имя схемы: research_department.accountant_service.calc_salary()
production_department.accountant_service.calc_salary()
Или вы можете использовать только пакет и имя процедуры: accountant_service.calc_salary()
. В этом случае будет выполняться процедура из текущей схемы
Или вы можете использовать только название процедуры (внутри упаковки): calc_salary()
. В этом случае будет выполнена процедура из текущего пакета.
Это не отнимает у вас точку, но Oracle делает отдельные типы объектов в пространствах имен; [см. правило 8 именования объектов] (https://docs.oracle.com/cd/E11882_01/server.112/e41084/sql_elements008.htm#SQLRF00223). –
@AlexPoole, исправлено. Спасибо что подметил это. – Brian