Skip to content
walter-weinmann edited this page May 29, 2020 · 32 revisions

plsql_block_sql_list:

         ::= plsql_block

           | sql_list

no references

plsql_block:

         ::= plsql_body

referenced by:

sql_list:

sql_list ::= ( sql ';' extra? )+

referenced by:

extra:

extra    ::= NAME ';'

referenced by:

DBLINK:

DBLINK   ::= '"@' [A-Za-z0-9_\$#.@]+ '"'

referenced by:

NAME:

NAME     ::= [A-Za-z] [A-Za-z0-9_\$#@~]*

referenced by:

sql:

sql      ::= manipulative_statement

           | schema

referenced by:

plsql_body:

         ::= 'BEGIN' statement_pragma_list 'END' ';'

referenced by:

statement_pragma_list:

         ::= statement_pragma+

referenced by:

statement_pragma:

         ::= assign_statement

           | close_statement

           | commit_statement

           | cursor_def

           | delete_statement_positioned

           | delete_statement_searched

           | fetch_statement

           | function_ref

           | insert_statement

           | open_statement

           | procedure_call

           | rollback_statement

           | select_statement

           | update_statement_positioned

           | update_statement_searched

           | 'WHENEVER' ( 'NOT' 'FOUND' | 'SQLERROR' ) when_action

referenced by:

assignment_statement:

no references

procedure_call:

         ::= 'CALL' function_ref

referenced by:

schema:

schema   ::= 'CREATE' 'SCHEMA' 'AUTHORIZATION' identifier schema_element_list?

referenced by:

schema_element_list:

         ::= schema_element+

referenced by:

schema_element:

         ::= create_table_def

           | view_def

           | grant_def

referenced by:

create_role_def:

         ::= 'CREATE' 'ROLE' identifier

referenced by:

create_table_def:

         ::= 'CREATE' create_opts? 'TABLE' table '(' ( base_table_element ( ',' base_table_element )* )? ')'

referenced by:

create_user_def:

         ::= 'CREATE' 'USER' identifier identified user_opts_list?

referenced by:

create_index_def:

referenced by:

create_index_opts:

         ::= 'BITMAP'

           | 'HASHMAP'

           | 'KEYLIST'

           | 'UNIQUE'

referenced by:

index_name:

         ::= identifier ( '.' identifier )?

referenced by:

create_index_spec:

         ::= '(' create_index_spec_items ')'

referenced by:

create_index_spec_items:

referenced by:

create_index_spec_column:

         ::= identifier JSON?

referenced by:

JSON:

JSON     ::= '|' [:{\[#] [^|]+ '|'

referenced by:

create_index_norm:

         ::= NORM_WITH STRING

referenced by:

STRING:

STRING   ::= 'fun' [A-Za-z0-9,_]* '.'* '->' '.'* 'end.'

           | 'fun\s' ['A-Za-z0-9_]+ ':' ['A-Za-z0-9_]+ '/' [0-9]+ '.'

           | "'" [^\']* "''**"

referenced by:

create_index_filter:

         ::= FILTER_WITH STRING

referenced by:

create_opts:

         ::= tbl_scope tbl_type?

           | tbl_type

referenced by:

tbl_scope:

         ::= 'LOCAL'

           | 'CLUSTER'

           | 'SCHEMA'

referenced by:

tbl_type:

tbl_type ::= 'SET'

           | 'ORDERED_SET'

           | 'BAG'

           | NAME

referenced by:

alter_user_def:

         ::= 'ALTER' 'USER' ( user_list proxy_clause | identifier ( spec_list | NAME NAME ) )

referenced by:

user_list:

         ::= identifier ( ',' identifier )*

referenced by:

proxy_clause:

         ::= ( 'GRANT' | 'REVOKE' ) 'CONNECT' 'THROUGH' ( 'ENTERPRISE' 'USERS' | db_user_proxy )

referenced by:

db_user_proxy:

         ::= proxy_with proxy_auth_req?

           | proxy_auth_req

referenced by:

proxy_with:

         ::= 'WITH' ( 'NO' 'ROLES' | 'ROLE' ( 'ALL' 'EXCEPT' )? role_list )

referenced by:

proxy_auth_req:

         ::= 'AUTHENTICATION' 'REQUIRED'

referenced by:

spec_list:

         ::= spec_item+

referenced by:

spec_item:

         ::= identified

           | user_opt

           | user_role

referenced by:

user_role:

         ::= 'DEFAULT' 'ROLE' ( 'ALL' ( 'EXCEPT' role_list )? | NONE | role_list )

referenced by:

role_list:

         ::= NAME ( ',' NAME )*

referenced by:

identified:

         ::= IDENTIFIED ( ( 'BY' | EXTERNALLY 'AS' ) identifier | 'GLOBALLY' ( 'AS' identifier )? )

referenced by:

user_opts_list:

         ::= user_opt+

referenced by:

user_opt:

user_opt ::= ( ( 'DEFAULT' | 'TEMPORARY' ) 'TABLESPACE' | 'PROFILE' ) identifier

           | quota_list

referenced by:

quota_list:

         ::= quota+

referenced by:

quota:

quota    ::= 'QUOTA' ( 'UNLIMITED' | INTNUM identifier? ) 'ON' identifier

referenced by:

INTNUM:

INTNUM   ::= [0-9]+

referenced by:

table_list:

         ::= table ( ',' table )*

referenced by:

exists:

exists   ::= 'IF' 'EXISTS'

referenced by:

base_table_element_commalist:

no references

base_table_element:

         ::= column_def

           | table_constraint_def

referenced by:

column_def:

         ::= column data_type column_def_opt*

referenced by:

column_def_list:

         ::= column_def_opt+

no references

column_def_opt:

         ::= 'NOT' 'NULL' ( 'UNIQUE' | 'PRIMARY' 'KEY' )?

           | 'DEFAULT' ( function_ref | identifier | literal | 'NULL' | 'USER' )

           | 'CHECK' '(' search_condition ')'

           | 'REFERENCES' table ( '(' column_commalist ')' )?

referenced by:

table_constraint_def:

         ::= ( ( ( 'CONSTRAINT' identifier )? 'UNIQUE' | 'PRIMARY' 'KEY' ) '(' column_commalist | 'CHECK' '(' search_condition ) ')'

           | 'FOREIGN' 'KEY' '(' column_commalist ')' 'REFERENCES' table ( '(' column_commalist ')' )?

referenced by:

column_commalist:

         ::= column ( ',' column )*

referenced by:

view_def:

view_def ::= 'CREATE' 'VIEW' table ( '(' column_commalist ')' )? 'AS' query_spec ( 'WITH' 'CHECK' 'OPTION' )?

referenced by:

grant_def:

         ::= 'GRANT' ( ( 'All' 'PRIVILEGES' | object_privilege ( ',' object_privilege )* ) on_obj_clause 'TO' ( grantee_identified_by | grantee_revokee ( ',' grantee_revokee )* ) ( 'WITH' ( 'GRANT' | 'HIERARCHY' ) 'OPTION' )? | ( 'All' 'PRIVILEGES' | system_privilege ( ',' system_privilege )* ) 'TO' ( grantee_identified_by | grantee_revokee ( ',' grantee_revokee )* ) ( 'WITH' ( 'ADMIN' | 'DELEGATE' ) 'OPTION' )? )

referenced by:

revoke_def:

         ::= 'REVOKE' ( ( 'All' 'PRIVILEGES' | object_privilege ( ',' object_privilege )* ) on_obj_clause 'FROM' grantee_revokee ( ',' grantee_revokee )* ( 'CASCADE' 'CONSTRAINTS' | 'FORCE' )? | ( 'All' 'PRIVILEGES' | system_privilege ( ',' system_privilege )* ) 'FROM' grantee_revokee ( ',' grantee_revokee )* )

referenced by:

grantee_identified_by:

         ::= identifier 'IDENTIFIED' 'BY' STRING

referenced by:

grantee_revokee:

         ::= identifier

           | 'PUBLIC'

referenced by:

grantee_revokee_commalist:

no references

object_privilege:

         ::= 'ALL'

           | 'ALTER'

           | 'DELETE'

           | 'EXECUTE'

           | 'INDEX'

           | 'INSERT'

           | 'REFERENCES'

           | 'SELECT'

           | 'UPDATE'

referenced by:

object_privilege_list:

no references

object_with_grant_option:

         ::= 'WITH' ( 'GRANT' | 'HIERARCHY' ) 'OPTION'

no references

object_with_revoke_option:

         ::= 'CASCADE' 'CONSTRAINTS'

           | 'FORCE'

no references

on_obj_clause:

         ::= 'ON' ( table | 'DIRECTORY' identifier )

referenced by:

system_privilege:

         ::= 'ADMIN'

           | 'ALL'

           | ( 'ALTER' | 'CREATE' | 'DROP' ) 'ANY' ( 'INDEX' | 'MATERIALIZED'? 'VIEW' | 'TABLE' )

           | 'CREATE' ( 'MATERIALIZED'? 'VIEW' | 'TABLE' )

           | ( 'DELETE' | 'INSERT' | 'SELECT' | 'UPDATE' ) 'ANY' 'TABLE'

           | NAME

referenced by:

system_privilege_list:

no references

system_with_grant_option:

         ::= 'WITH' ( 'ADMIN' | 'DELEGATE' ) 'OPTION'

no references

cursor_def:

         ::= 'CURSOR' cursor 'IS' query_exp

referenced by:

order_by_clause:

         ::= 'ORDER' 'BY' ordering_spec_commalist

referenced by:

ordering_spec_commalist:

referenced by:

ordering_spec:

         ::= scalar_exp asc_desc?

referenced by:

asc_desc:

asc_desc ::= 'ASC'

           | 'DESC'

referenced by:

manipulative_statement:

         ::= alter_user_def

           | create_index_def

           | create_role_def

           | create_table_def

           | create_user_def

           | delete_statement_positioned

           | delete_statement_searched

           | drop_context_def

           | drop_database_def

           | drop_database_link_def

           | drop_directory_def

           | drop_function_def

           | drop_index_def

           | drop_materialized_view_def

           | drop_package_def

           | drop_procedure_def

           | drop_profile_def

           | drop_role_def

           | drop_sequence_def

           | drop_synonym_def

           | drop_table_def

           | drop_tablespace_def

           | drop_trigger_def

           | drop_type_def

           | drop_type_body_def

           | drop_user_def

           | drop_view_def

           | grant_def

           | insert_statement

           | revoke_def

           | select_statement

           | truncate_table

           | update_statement_positioned

           | update_statement_searched

           | view_def

referenced by:

close_statement:

         ::= 'CLOSE' cursor

referenced by:

commit_statement:

         ::= 'COMMIT' 'WORK'?

referenced by:

delete_statement_positioned:

         ::= 'DELETE' 'FROM' table_dblink 'WHERE' 'CURRENT' 'OF' cursor returning?

referenced by:

delete_statement_searched:

         ::= 'DELETE' 'FROM' table_dblink where_clause? returning?

referenced by:

drop_context_def:

         ::= 'DROP' 'CONTEXT' identifier

referenced by:

drop_database_def:

         ::= 'DROP' 'DATABASE'

referenced by:

drop_database_link_def:

         ::= 'DROP' 'PUBLIC'? 'DATABASE' 'LINK' 'DBLINK'

referenced by:

drop_directory_def:

         ::= 'DROP' 'DIRECTORY' identifier

referenced by:

drop_function_def:

         ::= 'DROP' 'FUNCTION' function_name

referenced by:

function_name:

         ::= ( identifier '.' )? NAME

referenced by:

drop_index_def:

         ::= 'DROP' 'INDEX' ( index_name ( 'FROM' table )? | 'FROM' table ) drop_index_extensions?

referenced by:

drop_index_extensions:

         ::= ( 'DEFERRED' | 'IMMEDIATE' ) 'INVALIDATION'

           | 'FORCE' ( ( 'DEFERRED' | 'IMMEDIATE' ) 'INVALIDATION' )?

           | 'ONLINE' ( 'FORCE'? ( 'DEFERRED' | 'IMMEDIATE' ) 'INVALIDATION' )?

referenced by:

drop_materialized_view_def:

         ::= 'DROP' 'MATERIALIZED' 'VIEW' materialized_view_name ( 'PRESERVE' 'TABLE' )?

referenced by:

materialized_view_name:

         ::= identifier ( '.' identifier )?

referenced by:

drop_package_def:

         ::= 'DROP' 'PACKAGE' 'BODY'? package_name

referenced by:

package_name:

         ::= identifier ( '.' identifier )?

referenced by:

drop_procedure_def:

         ::= 'DROP' 'PROCEDURE' procedure_name

referenced by:

procedure_name:

         ::= identifier ( '.' identifier )?

referenced by:

drop_profile_def:

         ::= 'DROP' 'PROFILE' identifier 'CASCADE'?

referenced by:

drop_role_def:

         ::= 'DROP' 'ROLE' identifier

referenced by:

drop_sequence_def:

         ::= 'DROP' 'SEQUENCE' sequence_name

referenced by:

sequence_name:

         ::= identifier ( '.' identifier )?

referenced by:

drop_synonym_def:

         ::= 'DROP' 'PUBLIC'? 'SYNONYM' synonym_name 'FORCE'?

referenced by:

synonym_name:

         ::= identifier ( '.' identifier )?

referenced by:

drop_table_def:

         ::= 'DROP' create_opts? 'TABLE' exists? table_list drop_table_extensions?

referenced by:

drop_table_extensions:

         ::= 'CASCADE' 'CONSTRAINTS' 'PURGE'?

           | 'PURGE'

referenced by:

drop_tablespace_def:

         ::= 'DROP' 'TABLESPACE' identifier drop_tablespace_extensions?

referenced by:

drop_tablespace_extensions:

         ::= ( ( 'DROP' | 'KEEP' ) 'QUOTA' )? 'INCLUDING' 'CONTENTS' ( ( 'AND' | 'KEEP' ) 'DATAFILES' )? ( 'CASCADE' 'CONSTRAINTS' )?

referenced by:

drop_trigger_def:

         ::= 'DROP' 'TRIGGER' trigger_name

referenced by:

trigger_name:

         ::= identifier ( '.' identifier )?

referenced by:

drop_type_def:

         ::= 'DROP' 'TYPE' type_name ( 'FORCE' | 'VALIDATE' )?

referenced by:

type_name:

         ::= identifier ( '.' identifier )?

referenced by:

drop_type_body_def:

         ::= 'DROP' 'TYPE' 'BODY' type_name

referenced by:

drop_user_def:

         ::= 'DROP' 'USER' identifier 'CASCADE'?

referenced by:

drop_view_def:

         ::= 'DROP' 'VIEW' table ( 'CASCADE' 'CONSTRAINTS' )?

referenced by:

fetch_statement:

         ::= 'FETCH' cursor 'INTO' target_commalist

referenced by:

insert_statement:

         ::= 'INSERT' 'INTO' table_dblink ( ( '(' column_commalist ')' )? values_or_query_spec )? returning?

referenced by:

values_or_query_spec:

         ::= ( 'VALUES' '(' insert_atom_commalist | '(' query_spec ) ')'

           | query_spec

referenced by:

insert_atom_commalist:

         ::= insert_atom ( ',' insert_atom )*

referenced by:

insert_atom:

         ::= scalar_opt_as_exp

referenced by:

open_statement:

         ::= 'OPEN' cursor

referenced by:

rollback_statement:

         ::= 'ROLLBACK' 'WORK'?

referenced by:

select_statement:

         ::= query_exp

referenced by:

hint:

hint     ::= HINT

referenced by:

HINT:

HINT     ::= '/*' [^\*/]* '*/'

referenced by:

all_distinct:

         ::= 'ALL'

           | 'DISTINCT'

no references

truncate_table:

         ::= 'TRUNCATE' 'TABLE' table materialized? storage? 'CASCADE'?

referenced by:

materialized:

         ::= ( 'PRESERVE' | 'PURGE' ) 'MATERIALIZED' 'VIEW' 'LOG'

referenced by:

storage:

storage  ::= ( 'DROP' 'ALL'? | 'REUSE' ) 'STORAGE'

referenced by:

update_statement_positioned:

         ::= 'UPDATE' table_dblink 'SET' assignment_commalist 'WHERE' 'CURRENT' 'OF' cursor returning?

referenced by:

assignment_commalist:

         ::= assignment ( ',' assignment )*

referenced by:

assignment:

         ::= column '=' scalar_opt_as_exp

referenced by:

update_statement_searched:

referenced by:

target_commalist:

         ::= target ( ',' target )*

referenced by:

target:

target   ::= identifier

           | parameter_ref

referenced by:

query_exp:

         ::= query_term ( ( 'UNION' 'ALL'? | 'INTERSECT' | 'MINUS' ) query_term )*

referenced by:

returning:

         ::= ( 'RETURNING' | 'RETURN' ) selection 'INTO' selection

referenced by:

query_term:

         ::= query_spec

           | '(' query_exp ')' JSON?

referenced by:

query_spec:

         ::= 'SELECT' hint? ( 'ALL' | 'DISTINCT' )? selection into? table_exp

referenced by:

into:

into     ::= 'INTO' target_commalist

referenced by:

selection:

         ::= select_field_commalist

referenced by:

select_field:

         ::= case_when_exp ( 'AS'? NAME )?

           | scalar_opt_as_exp

           | '*'

referenced by:

select_field_commalist:

         ::= select_field ( ',' select_field )*

referenced by:

case_when_opt_as_exp:

         ::= case_when_exp ( 'AS'? NAME )?

no references

case_when_exp:

         ::= '(' case_when_exp ')'

           | 'CASE' scalar_opt_as_exp? case_when_then_list else? 'END'

referenced by:

case_when_then_list:

         ::= case_when_then+

referenced by:

case_when_then:

         ::= 'WHEN' search_condition 'THEN' scalar_opt_as_exp

referenced by:

else:

else     ::= 'ELSE' scalar_opt_as_exp

referenced by:

table_exp:

referenced by:

from_clause:

         ::= 'FROM' from_column_commalist

referenced by:

from_column:

         ::= table_ref

           | '(' join_clause ')'

           | join_clause

referenced by:

from_column_commalist:

         ::= from_column ( ',' from_column )*

referenced by:

join_clause:

         ::= table_ref join_list

referenced by:

join:

join     ::= inner_cross_join

           | outer_join

referenced by:

join_list:

         ::= join+

referenced by:

inner_cross_join:

         ::= 'INNER'? 'JOIN' join_ref join_on_or_using_clause

           | ( 'CROSS' | 'NATURAL' 'INNER'? ) 'JOIN' join_ref

referenced by:

join_on_or_using_clause:

         ::= 'ON' search_condition

           | 'USING' '(' select_field_commalist ')'

referenced by:

outer_join:

referenced by:

query_partition_clause:

         ::= 'PARTITION' 'BY' ( '(' scalar_exp_commalist ')' | scalar_exp_commalist )

referenced by:

outer_join_type:

         ::= ( 'FULL' | 'LEFT' | 'RIGHT' ) 'OUTER'?

referenced by:

table_ref:

         ::= table_dblink

           | query_term NAME?

referenced by:

join_ref:

           | query_term NAME?

referenced by:

hierarchical_query_clause:

         ::= ( 'START' 'WITH' search_condition 'CONNECT' 'BY' 'NOCYCLE'? | 'CONNECT' 'BY' 'NOCYCLE'? search_condition 'START' 'WITH' ) search_condition

referenced by:

where_clause:

         ::= 'WHERE' search_condition

referenced by:

group_by_clause:

         ::= 'GROUP' 'BY' column_ref_commalist

referenced by:

column_ref_commalist:

         ::= ( column_ref | function_ref ) ( ',' ( column_ref | function_ref ) )*

referenced by:

having_clause:

         ::= 'HAVING' search_condition

referenced by:

search_condition:

         ::= ( search_condition ( 'AND' | 'OR' ) | 'NOT' ) search_condition

           | '(' search_condition ')'

           | predicate

referenced by:

predicate:

         ::= comparison_predicate

           | between_predicate

           | like_predicate

           | test_for_null

           | in_predicate

           | all_or_any_predicate

           | existence_test

referenced by:

comparison_predicate:

         ::= scalar_opt_as_exp

           | ( scalar_exp ( '=' | COMPARISON ) 'PRIOR' | 'PRIOR' scalar_exp ( '=' | COMPARISON ) ) scalar_exp

referenced by:

COMPARISON:

         ::= '!='

           | '^='

           | '<>'

           | '<'

           | '>'

           | '<='

           | '>='

referenced by:

between_predicate:

         ::= scalar_exp ( 'BETWEEN' | not_between ) scalar_exp 'AND' scalar_exp

referenced by:

not_between:

         ::= 'NOT' 'BETWEEN'

referenced by:

like_predicate:

         ::= scalar_exp ( 'LIKE' | not_like ) scalar_exp escape?

referenced by:

not_like:

not_like ::= 'NOT' 'LIKE'

referenced by:

escape:

escape   ::= 'ESCAPE' atom

referenced by:

test_for_null:

         ::= scalar_exp ( is_null | is_not_null )

referenced by:

is_not_null:

         ::= 'IS' 'NOT' 'NULL'

referenced by:

is_null:

is_null  ::= 'IS' 'NULL'

referenced by:

in_predicate:

         ::= scalar_exp ( 'IN' | not_in ) ( '(' ( subquery | scalar_exp_commalist ) ')' | scalar_exp )

referenced by:

not_in:

not_in   ::= 'NOT' 'IN'

referenced by:

all_or_any_predicate:

referenced by:

any_all_some:

         ::= 'ANY'

           | 'ALL'

           | 'SOME'

referenced by:

existence_test:

         ::= 'EXISTS' subquery

referenced by:

table_coll_expr:

         ::= TABLE '(' ( column_ref | function_ref | subquery ) ')'

referenced by:

subquery:

referenced by:

scalar_opt_as_exp_1:

         ::= scalar_exp ( ( '=' | COMPARISON ) scalar_exp | AS? NAME )?

referenced by:

scalar_opt_as_exp:

         ::= scalar_opt_as_exp_1

           | scalar_opt_as_exp_2

referenced by:

scalar_exp:

         ::= scalar_sub_exp ( '||' scalar_sub_exp )*

referenced by:

scalar_sub_exp:

         ::= ( scalar_sub_exp ( '+' | '-' | '*' | '/' | 'div' ) | unary_add_or_subtract ) scalar_sub_exp

           | 'NULL'

           | atom

           | subquery

           | column_ref

           | function_ref

           | '(' scalar_sub_exp ')' JSON?

referenced by:

unary_add_or_subtract:

         ::= '+'

           | '-'

referenced by:

scalar_exp_commalist:

referenced by:

atom:

atom     ::= parameter_ref

           | literal

           | 'USER'

referenced by:

parameter_ref:

         ::= parameter ( 'INDICATOR'? parameter )?

referenced by:

function_ref:

         ::= ( identifier ( '.' identifier ( '.' identifier )? )? '(' ( fun_args | fun_args_named )? ')' | 'FUNS' ( '(' ( fun_args | fun_args_named | '*' | 'DISTINCT' column_ref | 'ALL' scalar_exp )? ')' )? ) JSON*

referenced by:

fun_args:

fun_args ::= fun_arg ( ',' fun_arg )*

referenced by:

fun_arg:

fun_arg  ::= '(' fun_arg ')'

           | atom

           | case_when_exp

           | column_ref

           | fun_arg ( 'AS'? NAME | ( '*' | '+' | '-' | '/' | '=' | 'div' | '||' | COMPARISON ) fun_arg )

           | function_ref

           | 'NULL'

           | subquery

           | ( '+' | '-' ) fun_arg

referenced by:

fun_args_named:

         ::= fun_arg_named ( ',' fun_arg_named )*

referenced by:

fun_arg_named:

         ::= identifier '=>' ( identifier | literal | parameter )

referenced by:

literal:

literal  ::= STRING

           | INTNUM

           | APPROXNUM

referenced by:

APPROXNUM:

         ::= ( '.' [0-9] | [0-9]+ '.'? ) [0-9]* ( [eE] [+#x2D]? [0-9]+ )? [fFdD]?

referenced by:

table:

table    ::= identifier ( '.' identifier )?

           | parameter

referenced by:

table_alias:

         ::= ( identifier ( '.' identifier )? | parameter ) NAME

           | table

referenced by:

table_dblink:

         ::= ( identifier ( '.' identifier )? | parameter ) DBLINK NAME?

           | table_alias

           | table_coll_expr

referenced by:

column_ref:

         ::= identifier ( ( '.' identifier ( '.' identifier )? )? ( JSON | '(' '+' ')' )? | '.' ( identifier '.' )? '*' )

referenced by:

data_type:

         ::= BFILE

           | BINARY_DOUBLE

           | BINARY_FLOAT

           | BLOB

           | CHAR

           | CLOB

           | DATE

           | FLOAT

           | LONG RAW?

           | ( identifier '.' )? NAME

           | NCLOB

           | NUMBER

           | RAW

           | ROWID

           | STRING

           | TIMESTAMP

           | UROWID

           | VARCHAR2

           | XMLTYPE

           | ( ( CHAR | FLOAT | NAME | NCHAR | NUMBER | NVARCHAR2 c | RAW | TIMESTAMP | UROWID | VARCHAR2 ) '(' | ( NAME | NUMBER ) '(' sgn_num ',' ) sgn_num ')'

referenced by:

sgn_num:

sgn_num  ::= '-'? INTNUM

referenced by:

column:

column   ::= identifier

referenced by:

cursor:

cursor   ::= identifier

referenced by:

parameter:

         ::= PARAMETER

referenced by:

PARAMETER:

         ::= ':' [A-Za-z0-9_\.]+

referenced by:

identifier:

         ::= NAME

           | ADMIN

           | AUTHENTICATION

           | AUTHORIZATION

           | BAG

           | BEGIN

           | BFILE

           | BINARY_DOUBLE

           | BINARY_FLOAT

           | BITMAP

           | BLOB

           | BODY

           | CALL

           | CASCADE

           | CLOB

           | CLOSE

           | COMMIT

           | COMPARISON

           | CONSTRAINTS

           | CONTENTS

           | CONTEXT

           | CONTINUE

           | CROSS

           | CURRENT

           | CURSOR

           | DATABASE

           | DATAFILES

           | DBLINK

           | DEFERRED

           | DELEGATE

           | DIRECTORY

           | END

           | ENTERPRISE

           | ESCAPE

           | EXCEPT

           | EXECUTE

           | EXTERNALLY

           | FETCH

           | FILTER_WITH

           | FORCE

           | FOREIGN

           | FOUND

           | FULL

           | FUNCTION

           | GLOBALLY

           | GOTO

           | HASHMAP

           | HIERARCHY

           | IF

           | IMMEDIATE

           | INCLUDING

           | INDICATOR

           | INNER

           | INVALIDATION

           | JOIN

           | JSON

           | KEEP

           | KEY

           | KEYLIST

           | LEFT

           | LINK

           | LOCAL

           | LOG

           | MATERIALIZED

           | NATURAL

           | NCHAR

           | NCLOB

           | NO

           | NONE

           | NORM_WITH

           | NVARCHAR2

           | ONLINE

           | OPEN

           | ORDERED_SET

           | OUTER

           | PACKAGE

           | PARTITION

           | PRESERVE

           | PRIMARY

           | PRIVILEGES

           | PROCEDURE

           | PROFILE

           | PURGE

           | QUOTA

           | REFERENCES

           | REQUIRED

           | RETURN

           | RETURNING

           | REUSE

           | RIGHT

           | ROLE

           | ROLES

           | ROLLBACK

           | ROWID

           | SCHEMA

           | SEQUENCE

           | SQLERROR

           | STORAGE

           | TIMESTAMP

           | TYPE

           | UNLIMITED

           | UROWID

           | USERS

           | USING

           | VALIDATE

           | WHENEVER

           | WORK

           | XMLTYPE

referenced by:

when_action:

         ::= 'GOTO' identifier

           | 'CONTINUE'

referenced by:

| | | | | | ... generated by RR - Railroad Diagram Generator | |

Clone this wiki locally