Спросите, каковы реальный требования. Большинство проектов или имеет, не записали требования или устаревшие записанные требования. Реальная документация является обычно словесными переговорами. Узнайте, кто говорить. Если Вы имеете конфликтующие требования от различных пользователей, узнаете, кто является самым важным для создания счастливым.
Не думаю, что ты сможешь. Из PL / SQL User's Guide:
«Правила разрешения имен для PL / SQL и SQL похожи. Вы можете избежать некоторых различий, если будете следовать правилам предотвращения захвата. Для совместимости правила SQL больше разрешающий, чем правила PL / SQL. Правила SQL, которые в основном зависят от контекста, распознают как допустимые больше ситуаций и операторов DML, чем правила PL / SQL.
Я согласен с DCookie , это нормальная проблема области видимости. Если вы оказались в такой ситуации, один из способов решения проблемы - изменить CURRENT_SCHEMA
:
SQL> exec b.x.foo;
begin b.x.foo; end;
ORA-06550: line 2, column 9:
PLS-00302: component 'X' must be declared
ORA-06550: line 2, column 7:
PL/SQL: Statement ignored
SQL> alter session set current_schema=b;
Session altered
SQL> exec b.x.foo;
PL/SQL procedure successfully completed