Oracle 10g R2 के अनुसार उत्तर हां है, आइटम_सूची_1 और आइटम_सूची_2 में आइटम के बीच एक आवश्यक ऑर्डरिंग है, भले ही कर्सर परिभाषाओं को जगह से बाहर करने की अनुमति हो।
उदाहरण के लिए एक परिवर्तनीय घोषणा से पहले एक प्रक्रिया परिभाषा की अनुमति नहीं है:
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
PL/SQL Release 10.2.0.4.0 - Production
CORE 10.2.0.4.0 Production
TNS for Solaris: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 - Production
SQL> declare
2 variable_declaration number;
3 procedure procedure_definition is begin
4 null;
5 end procedure_definition;
6 begin
7 null;
8 end;
9 /
PL/SQL procedure successfully completed.
SQL> declare
2 procedure procedure_definition is begin
3 null;
4 end procedure_definition;
5 variable_declaration number;
6 begin
7 null;
8 end;
9 /
variable_declaration number;
*
ERROR at line 5:
ORA-06550: line 5, column 5:
PLS-00103: Encountered the symbol "VARIABLE_DECLARATION" when expecting one of the following:
begin function package pragma procedure form
ORA-06550: line 8, column 4:
PLS-00103: Encountered the symbol "end-of-file" when expecting one of the following:
end not pragma final instantiable order overriding static
member constructor map