+- Input[@CanonicalImage = null, @ExcludedLinesCount = 0, @ExcludedRangesCount = 0]
   +- DDLCommand[@CanonicalImage = "DROP", @Image = "DROP"]
   |  +- DDLEvent[@CanonicalImage = "DROP", @Image = "DROP"]
   |  +- ReadPastNextOccurrence[@CanonicalImage = "TABLE EMP_NAME ;", @Image = "TABLE EMP_NAME ;"]
   |     +- Read2NextOccurrence[@CanonicalImage = "TABLE EMP_NAME", @Image = "TABLE EMP_NAME "]
   +- DDLCommand[@CanonicalImage = "CREATE", @Image = "CREATE"]
   |  +- DDLEvent[@CanonicalImage = "CREATE", @Image = "CREATE"]
   |  +- ReadPastNextOccurrence[@CanonicalImage = "TABLE EMP_NAME AS SELECT EMPLOYEE_ID , LAST_NAME FROM EMPLOYEES ;", @Image = "TABLE EMP_NAME AS SELECT EMPLOYEE_ID , LAST_NAME FROM EMPLOYEES ;"]
   |     +- Read2NextOccurrence[@CanonicalImage = "TABLE EMP_NAME AS SELECT EMPLOYEE_ID , LAST_NAME FROM EMPLOYEES", @Image = "TABLE EMP_NAME AS SELECT EMPLOYEE_ID , LAST_NAME FROM EMPLOYEES "]
   +- DDLCommand[@CanonicalImage = "CREATE", @Image = "CREATE"]
   |  +- DDLEvent[@CanonicalImage = "CREATE", @Image = "CREATE"]
   |  +- ReadPastNextOccurrence[@CanonicalImage = "UNIQUE INDEX EMPNAME_IX ON EMP_NAME ( EMPLOYEE_ID ) ;", @Image = "UNIQUE INDEX EMPNAME_IX ON EMP_NAME ( EMPLOYEE_ID ) ;"]
   |     +- Read2NextOccurrence[@CanonicalImage = "UNIQUE INDEX EMPNAME_IX ON EMP_NAME ( EMPLOYEE_ID )", @Image = "UNIQUE INDEX EMPNAME_IX ON EMP_NAME ( EMPLOYEE_ID ) "]
   +- DDLCommand[@CanonicalImage = "DROP", @Image = "DROP"]
   |  +- DDLEvent[@CanonicalImage = "DROP", @Image = "DROP"]
   |  +- ReadPastNextOccurrence[@CanonicalImage = "TABLE EMP_SAL ;", @Image = "TABLE EMP_SAL ;"]
   |     +- Read2NextOccurrence[@CanonicalImage = "TABLE EMP_SAL", @Image = "TABLE EMP_SAL "]
   +- DDLCommand[@CanonicalImage = "CREATE", @Image = "CREATE"]
   |  +- DDLEvent[@CanonicalImage = "CREATE", @Image = "CREATE"]
   |  +- ReadPastNextOccurrence[@CanonicalImage = "TABLE EMP_SAL AS SELECT EMPLOYEE_ID , SALARY FROM EMPLOYEES ;", @Image = "TABLE EMP_SAL AS SELECT EMPLOYEE_ID , SALARY FROM EMPLOYEES ;"]
   |     +- Read2NextOccurrence[@CanonicalImage = "TABLE EMP_SAL AS SELECT EMPLOYEE_ID , SALARY FROM EMPLOYEES", @Image = "TABLE EMP_SAL AS SELECT EMPLOYEE_ID , SALARY FROM EMPLOYEES "]
   +- DDLCommand[@CanonicalImage = "CREATE", @Image = "CREATE"]
   |  +- DDLEvent[@CanonicalImage = "CREATE", @Image = "CREATE"]
   |  +- ReadPastNextOccurrence[@CanonicalImage = "UNIQUE INDEX EMPSAL_IX ON EMP_SAL ( EMPLOYEE_ID ) ;", @Image = "UNIQUE INDEX EMPSAL_IX ON EMP_SAL ( EMPLOYEE_ID ) ;"]
   |     +- Read2NextOccurrence[@CanonicalImage = "UNIQUE INDEX EMPSAL_IX ON EMP_SAL ( EMPLOYEE_ID )", @Image = "UNIQUE INDEX EMPSAL_IX ON EMP_SAL ( EMPLOYEE_ID ) "]
   +- DDLCommand[@CanonicalImage = "DROP", @Image = "DROP"]
   |  +- DDLEvent[@CanonicalImage = "DROP", @Image = "DROP"]
   |  +- ReadPastNextOccurrence[@CanonicalImage = "TABLE EMP_JOB ;", @Image = "TABLE EMP_JOB ;"]
   |     +- Read2NextOccurrence[@CanonicalImage = "TABLE EMP_JOB", @Image = "TABLE EMP_JOB "]
   +- DDLCommand[@CanonicalImage = "CREATE", @Image = "CREATE"]
   |  +- DDLEvent[@CanonicalImage = "CREATE", @Image = "CREATE"]
   |  +- ReadPastNextOccurrence[@CanonicalImage = "TABLE EMP_JOB AS SELECT EMPLOYEE_ID , JOB_ID FROM EMPLOYEES ;", @Image = "TABLE EMP_JOB AS SELECT EMPLOYEE_ID , JOB_ID FROM EMPLOYEES ;"]
   |     +- Read2NextOccurrence[@CanonicalImage = "TABLE EMP_JOB AS SELECT EMPLOYEE_ID , JOB_ID FROM EMPLOYEES", @Image = "TABLE EMP_JOB AS SELECT EMPLOYEE_ID , JOB_ID FROM EMPLOYEES "]
   +- DDLCommand[@CanonicalImage = "CREATE", @Image = "CREATE"]
   |  +- DDLEvent[@CanonicalImage = "CREATE", @Image = "CREATE"]
   |  +- ReadPastNextOccurrence[@CanonicalImage = "UNIQUE INDEX EMPJOBID_IX ON EMP_JOB ( EMPLOYEE_ID ) ;", @Image = "UNIQUE INDEX EMPJOBID_IX ON EMP_JOB ( EMPLOYEE_ID ) ;"]
   |     +- Read2NextOccurrence[@CanonicalImage = "UNIQUE INDEX EMPJOBID_IX ON EMP_JOB ( EMPLOYEE_ID )", @Image = "UNIQUE INDEX EMPJOBID_IX ON EMP_JOB ( EMPLOYEE_ID ) "]
   +- Global[@CanonicalImage = null]
      +- Block[@CanonicalImage = null]
         +- DeclarativeSection[@CanonicalImage = null]
         |  +- DeclarativeUnit[@CanonicalImage = null]
         |  |  +- VariableOrConstantDeclaration[@CanonicalImage = null]
         |  |     +- VariableOrConstantDeclarator[@CanonicalImage = "EMP_ID NUMBER(6)", @Image = "emp_id NUMBER(6)"]
         |  |        +- VariableOrConstantDeclaratorId[@Array = false, @ArrayDepth = 0, @CanonicalImage = "EMP_ID", @Image = "emp_id"]
         |  |        |  +- ID[@CanonicalImage = "EMP_ID", @Image = "emp_id"]
         |  |        +- Datatype[@CanonicalImage = "NUMBER(6)", @Image = "NUMBER(6)", @TypeImage = "NUMBER(6)"]
         |  |           +- ScalarDataTypeName[@CanonicalImage = "NUMBER(6)", @Image = "NUMBER(6)"]
         |  |              +- NumericLiteral[@CanonicalImage = "6", @Image = "6"]
         |  +- DeclarativeUnit[@CanonicalImage = null]
         |  |  +- VariableOrConstantDeclaration[@CanonicalImage = null]
         |  |     +- VariableOrConstantDeclarator[@CanonicalImage = "EMP_LASTNAME VARCHAR2(25)", @Image = "emp_lastname VARCHAR2(25)"]
         |  |        +- VariableOrConstantDeclaratorId[@Array = false, @ArrayDepth = 0, @CanonicalImage = "EMP_LASTNAME", @Image = "emp_lastname"]
         |  |        |  +- ID[@CanonicalImage = "EMP_LASTNAME", @Image = "emp_lastname"]
         |  |        +- Datatype[@CanonicalImage = "VARCHAR2(25)", @Image = "VARCHAR2(25)", @TypeImage = "VARCHAR2(25)"]
         |  |           +- ScalarDataTypeName[@CanonicalImage = "VARCHAR2(25)", @Image = "VARCHAR2(25)"]
         |  |              +- NumericLiteral[@CanonicalImage = "25", @Image = "25"]
         |  +- DeclarativeUnit[@CanonicalImage = null]
         |  |  +- VariableOrConstantDeclaration[@CanonicalImage = null]
         |  |     +- VariableOrConstantDeclarator[@CanonicalImage = "EMP_SALARY NUMBER(8,2)", @Image = "emp_salary NUMBER(8,2)"]
         |  |        +- VariableOrConstantDeclaratorId[@Array = false, @ArrayDepth = 0, @CanonicalImage = "EMP_SALARY", @Image = "emp_salary"]
         |  |        |  +- ID[@CanonicalImage = "EMP_SALARY", @Image = "emp_salary"]
         |  |        +- Datatype[@CanonicalImage = "NUMBER(8,2)", @Image = "NUMBER(8,2)", @TypeImage = "NUMBER(8,2)"]
         |  |           +- ScalarDataTypeName[@CanonicalImage = "NUMBER(8,2)", @Image = "NUMBER(8,2)"]
         |  |              +- NumericLiteral[@CanonicalImage = "8", @Image = "8"]
         |  |              +- PrimaryPrefix[@CanonicalImage = "2", @Image = "2", @SelfModifier = false]
         |  |                 +- Literal[@CanonicalImage = "2", @Image = "2"]
         |  |                    +- NumericLiteral[@CanonicalImage = "2", @Image = "2"]
         |  +- DeclarativeUnit[@CanonicalImage = null]
         |     +- VariableOrConstantDeclaration[@CanonicalImage = null]
         |        +- VariableOrConstantDeclarator[@CanonicalImage = "EMP_JOBID VARCHAR2(10)", @Image = "emp_jobid VARCHAR2(10)"]
         |           +- VariableOrConstantDeclaratorId[@Array = false, @ArrayDepth = 0, @CanonicalImage = "EMP_JOBID", @Image = "emp_jobid"]
         |           |  +- ID[@CanonicalImage = "EMP_JOBID", @Image = "emp_jobid"]
         |           +- Datatype[@CanonicalImage = "VARCHAR2(10)", @Image = "VARCHAR2(10)", @TypeImage = "VARCHAR2(10)"]
         |              +- ScalarDataTypeName[@CanonicalImage = "VARCHAR2(10)", @Image = "VARCHAR2(10)"]
         |                 +- NumericLiteral[@CanonicalImage = "10", @Image = "10"]
         +- Statement[@CanonicalImage = null]
         |  +- UnlabelledStatement[@CanonicalImage = null]
         |     +- SelectIntoStatement[@All = false, @CanonicalImage = null, @Distinct = false, @Unique = false]
         |        +- SelectList[@CanonicalImage = null]
         |        |  +- SqlExpression[@CanonicalImage = "EMPLOYEE_ID", @Image = "employee_id"]
         |        |  |  +- PrimaryPrefix[@CanonicalImage = "EMPLOYEE_ID", @Image = "employee_id", @SelfModifier = false]
         |        |  |     +- SimpleExpression[@CanonicalImage = "EMPLOYEE_ID", @Image = "employee_id"]
         |        |  |        +- Column[@CanonicalImage = "EMPLOYEE_ID", @Image = "employee_id"]
         |        |  |           +- ID[@CanonicalImage = "EMPLOYEE_ID", @Image = "employee_id"]
         |        |  +- SqlExpression[@CanonicalImage = "LAST_NAME", @Image = "last_name"]
         |        |  |  +- PrimaryPrefix[@CanonicalImage = "LAST_NAME", @Image = "last_name", @SelfModifier = false]
         |        |  |     +- SimpleExpression[@CanonicalImage = "LAST_NAME", @Image = "last_name"]
         |        |  |        +- Column[@CanonicalImage = "LAST_NAME", @Image = "last_name"]
         |        |  |           +- ID[@CanonicalImage = "LAST_NAME", @Image = "last_name"]
         |        |  +- SqlExpression[@CanonicalImage = "SALARY", @Image = "salary"]
         |        |  |  +- PrimaryPrefix[@CanonicalImage = "SALARY", @Image = "salary", @SelfModifier = false]
         |        |  |     +- SimpleExpression[@CanonicalImage = "SALARY", @Image = "salary"]
         |        |  |        +- Column[@CanonicalImage = "SALARY", @Image = "salary"]
         |        |  |           +- ID[@CanonicalImage = "SALARY", @Image = "salary"]
         |        |  +- SqlExpression[@CanonicalImage = "JOB_ID", @Image = "job_id"]
         |        |     +- PrimaryPrefix[@CanonicalImage = "JOB_ID", @Image = "job_id", @SelfModifier = false]
         |        |        +- SimpleExpression[@CanonicalImage = "JOB_ID", @Image = "job_id"]
         |        |           +- Column[@CanonicalImage = "JOB_ID", @Image = "job_id"]
         |        |              +- ID[@CanonicalImage = "JOB_ID", @Image = "job_id"]
         |        +- IntoClause[@CanonicalImage = null]
         |        |  +- VariableName[@CanonicalImage = "EMP_ID", @Image = "emp_id"]
         |        |  |  +- ID[@CanonicalImage = "EMP_ID", @Image = "emp_id"]
         |        |  +- VariableName[@CanonicalImage = "EMP_LASTNAME", @Image = "emp_lastname"]
         |        |  |  +- ID[@CanonicalImage = "EMP_LASTNAME", @Image = "emp_lastname"]
         |        |  +- VariableName[@CanonicalImage = "EMP_SALARY", @Image = "emp_salary"]
         |        |  |  +- ID[@CanonicalImage = "EMP_SALARY", @Image = "emp_salary"]
         |        |  +- VariableName[@CanonicalImage = "EMP_JOBID", @Image = "emp_jobid"]
         |        |     +- ID[@CanonicalImage = "EMP_JOBID", @Image = "emp_jobid"]
         |        +- FromClause[@CanonicalImage = null]
         |        |  +- TableReference[@CanonicalImage = null]
         |        |     +- TableName[@CanonicalImage = "EMPLOYEES", @Image = "employees"]
         |        |        +- ID[@CanonicalImage = "EMPLOYEES", @Image = "employees"]
         |        +- WhereClause[@CanonicalImage = null]
         |           +- Condition[@CanonicalImage = null]
         |              +- CompoundCondition[@CanonicalImage = null, @Type = null]
         |                 +- ComparisonCondition[@CanonicalImage = null, @Operator = "="]
         |                    +- SqlExpression[@CanonicalImage = "EMPLOYEE_ID", @Image = "employee_id"]
         |                    |  +- PrimaryPrefix[@CanonicalImage = "EMPLOYEE_ID", @Image = "employee_id", @SelfModifier = false]
         |                    |     +- SimpleExpression[@CanonicalImage = "EMPLOYEE_ID", @Image = "employee_id"]
         |                    |        +- Column[@CanonicalImage = "EMPLOYEE_ID", @Image = "employee_id"]
         |                    |           +- ID[@CanonicalImage = "EMPLOYEE_ID", @Image = "employee_id"]
         |                    +- SqlExpression[@CanonicalImage = "120", @Image = "120"]
         |                       +- PrimaryPrefix[@CanonicalImage = "120", @Image = "120", @SelfModifier = false]
         |                          +- Literal[@CanonicalImage = "120", @Image = "120"]
         |                             +- NumericLiteral[@CanonicalImage = "120", @Image = "120"]
         +- Statement[@CanonicalImage = null]
         |  +- UnlabelledStatement[@CanonicalImage = null]
         |     +- InsertStatement[@CanonicalImage = null]
         |        +- SingleTableInsert[@CanonicalImage = null]
         |           +- InsertIntoClause[@CanonicalImage = null]
         |           |  +- DMLTableExpressionClause[@CanonicalImage = null]
         |           |  |  +- TableName[@CanonicalImage = "EMP_NAME", @Image = "emp_name"]
         |           |  |     +- ID[@CanonicalImage = "EMP_NAME", @Image = "emp_name"]
         |           |  +- Column[@CanonicalImage = "EMPLOYEE_ID", @Image = "employee_id"]
         |           |  |  +- ID[@CanonicalImage = "EMPLOYEE_ID", @Image = "employee_id"]
         |           |  +- Column[@CanonicalImage = "LAST_NAME", @Image = "last_name"]
         |           |     +- ID[@CanonicalImage = "LAST_NAME", @Image = "last_name"]
         |           +- ValuesClause[@CanonicalImage = null]
         |              +- Expression[@CanonicalImage = "EMP_ID", @Image = "emp_id"]
         |              |  +- PrimaryPrefix[@CanonicalImage = "EMP_ID", @Image = "emp_id", @SelfModifier = false]
         |              |     +- SimpleExpression[@CanonicalImage = "EMP_ID", @Image = "emp_id"]
         |              |        +- Column[@CanonicalImage = "EMP_ID", @Image = "emp_id"]
         |              |           +- ID[@CanonicalImage = "EMP_ID", @Image = "emp_id"]
         |              +- Expression[@CanonicalImage = "EMP_LASTNAME", @Image = "emp_lastname"]
         |                 +- PrimaryPrefix[@CanonicalImage = "EMP_LASTNAME", @Image = "emp_lastname", @SelfModifier = false]
         |                    +- SimpleExpression[@CanonicalImage = "EMP_LASTNAME", @Image = "emp_lastname"]
         |                       +- Column[@CanonicalImage = "EMP_LASTNAME", @Image = "emp_lastname"]
         |                          +- ID[@CanonicalImage = "EMP_LASTNAME", @Image = "emp_lastname"]
         +- Statement[@CanonicalImage = null]
         |  +- UnlabelledStatement[@CanonicalImage = null]
         |     +- InsertStatement[@CanonicalImage = null]
         |        +- SingleTableInsert[@CanonicalImage = null]
         |           +- InsertIntoClause[@CanonicalImage = null]
         |           |  +- DMLTableExpressionClause[@CanonicalImage = null]
         |           |  |  +- TableName[@CanonicalImage = "EMP_SAL", @Image = "emp_sal"]
         |           |  |     +- ID[@CanonicalImage = "EMP_SAL", @Image = "emp_sal"]
         |           |  +- Column[@CanonicalImage = "EMPLOYEE_ID", @Image = "employee_id"]
         |           |  |  +- ID[@CanonicalImage = "EMPLOYEE_ID", @Image = "employee_id"]
         |           |  +- Column[@CanonicalImage = "SALARY", @Image = "salary"]
         |           |     +- ID[@CanonicalImage = "SALARY", @Image = "salary"]
         |           +- ValuesClause[@CanonicalImage = null]
         |              +- Expression[@CanonicalImage = "EMP_ID", @Image = "emp_id"]
         |              |  +- PrimaryPrefix[@CanonicalImage = "EMP_ID", @Image = "emp_id", @SelfModifier = false]
         |              |     +- SimpleExpression[@CanonicalImage = "EMP_ID", @Image = "emp_id"]
         |              |        +- Column[@CanonicalImage = "EMP_ID", @Image = "emp_id"]
         |              |           +- ID[@CanonicalImage = "EMP_ID", @Image = "emp_id"]
         |              +- Expression[@CanonicalImage = "EMP_SALARY", @Image = "emp_salary"]
         |                 +- PrimaryPrefix[@CanonicalImage = "EMP_SALARY", @Image = "emp_salary", @SelfModifier = false]
         |                    +- SimpleExpression[@CanonicalImage = "EMP_SALARY", @Image = "emp_salary"]
         |                       +- Column[@CanonicalImage = "EMP_SALARY", @Image = "emp_salary"]
         |                          +- ID[@CanonicalImage = "EMP_SALARY", @Image = "emp_salary"]
         +- Statement[@CanonicalImage = null]
         |  +- UnlabelledStatement[@CanonicalImage = null]
         |     +- InsertStatement[@CanonicalImage = null]
         |        +- SingleTableInsert[@CanonicalImage = null]
         |           +- InsertIntoClause[@CanonicalImage = null]
         |           |  +- DMLTableExpressionClause[@CanonicalImage = null]
         |           |  |  +- TableName[@CanonicalImage = "EMP_JOB", @Image = "emp_job"]
         |           |  |     +- ID[@CanonicalImage = "EMP_JOB", @Image = "emp_job"]
         |           |  +- Column[@CanonicalImage = "EMPLOYEE_ID", @Image = "employee_id"]
         |           |  |  +- ID[@CanonicalImage = "EMPLOYEE_ID", @Image = "employee_id"]
         |           |  +- Column[@CanonicalImage = "JOB_ID", @Image = "job_id"]
         |           |     +- ID[@CanonicalImage = "JOB_ID", @Image = "job_id"]
         |           +- ValuesClause[@CanonicalImage = null]
         |              +- Expression[@CanonicalImage = "EMP_ID", @Image = "emp_id"]
         |              |  +- PrimaryPrefix[@CanonicalImage = "EMP_ID", @Image = "emp_id", @SelfModifier = false]
         |              |     +- SimpleExpression[@CanonicalImage = "EMP_ID", @Image = "emp_id"]
         |              |        +- Column[@CanonicalImage = "EMP_ID", @Image = "emp_id"]
         |              |           +- ID[@CanonicalImage = "EMP_ID", @Image = "emp_id"]
         |              +- Expression[@CanonicalImage = "EMP_JOBID", @Image = "emp_jobid"]
         |                 +- PrimaryPrefix[@CanonicalImage = "EMP_JOBID", @Image = "emp_jobid", @SelfModifier = false]
         |                    +- SimpleExpression[@CanonicalImage = "EMP_JOBID", @Image = "emp_jobid"]
         |                       +- Column[@CanonicalImage = "EMP_JOBID", @Image = "emp_jobid"]
         |                          +- ID[@CanonicalImage = "EMP_JOBID", @Image = "emp_jobid"]
         +- ExceptionHandler[@CanonicalImage = null]
            +- QualifiedName[@CanonicalImage = "DUP_VAL_ON_INDEX", @Image = "DUP_VAL_ON_INDEX"]
            |  +- UnqualifiedID[@CanonicalImage = "DUP_VAL_ON_INDEX", @Image = "DUP_VAL_ON_INDEX"]
            +- Statement[@CanonicalImage = null]
            |  +- UnlabelledStatement[@CanonicalImage = null]
            |     +- SqlStatement[@CanonicalImage = null, @Type = Type.ROLLBACK]
            |        +- Skip2NextTerminator[@CanonicalImage = null]
            +- Statement[@CanonicalImage = null]
               +- UnlabelledStatement[@CanonicalImage = null]
                  +- Expression[@CanonicalImage = "DBMS_OUTPUT.PUT_LINE", @Image = "DBMS_OUTPUT.PUT_LINE"]
                     +- PrimaryPrefix[@CanonicalImage = "DBMS_OUTPUT.PUT_LINE", @Image = "DBMS_OUTPUT.PUT_LINE", @SelfModifier = false]
                        +- FunctionCall[@CanonicalImage = "DBMS_OUTPUT.PUT_LINE", @Image = "DBMS_OUTPUT.PUT_LINE"]
                           +- FunctionName[@CanonicalImage = "DBMS_OUTPUT.PUT_LINE", @Image = "DBMS_OUTPUT.PUT_LINE"]
                           |  +- ID[@CanonicalImage = "DBMS_OUTPUT", @Image = "DBMS_OUTPUT"]
                           |  +- ID[@CanonicalImage = "PUT_LINE", @Image = "PUT_LINE"]
                           +- Arguments[@ArgumentCount = 1, @CanonicalImage = null]
                              +- ArgumentList[@CanonicalImage = null]
                                 +- Argument[@CanonicalImage = null]
                                    +- Expression[@CanonicalImage = "\'INSERTS WERE ROLLED BACK\'", @Image = "\'Inserts were rolled back\'"]
                                       +- PrimaryPrefix[@CanonicalImage = "\'INSERTS WERE ROLLED BACK\'", @Image = "\'Inserts were rolled back\'", @SelfModifier = false]
                                          +- Literal[@CanonicalImage = "\'INSERTS WERE ROLLED BACK\'", @Image = "\'Inserts were rolled back\'"]
                                             +- StringLiteral[@CanonicalImage = "\'INSERTS WERE ROLLED BACK\'", @Image = "\'Inserts were rolled back\'", @String = "Inserts were rolled back"]
