-
Notifications
You must be signed in to change notification settings - Fork 15
Syntax Diagram
` `
<div>
[plsql\_block\_sql\_list](#plsql_block_sql_list "plsql_block_sql_list")
::= plsql_block
<div>
| [sql\_list](#sql_list "sql_list")
no references
## plsql\_block: ##
![](diagram/plsql_block.png)
````sql
` `
<div>
[plsql\_block](#plsql_block "plsql_block")
::= plsql_body
referenced by:
` `
<div>
[sql\_list](#sql_list "sql_list") ::= ( [sql](#sql "sql") ';'
[extra](#extra "extra")? )+
referenced by:
- [plsql\_block\_sql\_list](#plsql_block_sql_list "plsql_block_sql_list")
## extra: ##
![](diagram/extra.png)
````sql
` `
<div>
[extra](#extra "extra") ::= [NAME](#NAME "NAME") ';'
referenced by:
- [sql\_list](#sql_list "sql_list")
## DBLINK: ##
![](diagram/DBLINK.png)
````sql
` `
<div>
[DBLINK](#DBLINK "DBLINK") ::= '"@' \[A-Za-z0-9\_\\\$\#.@\]+ '"'
referenced by:
- [table\_dblink](#table_dblink "table_dblink")
## NAME: ##
![](diagram/NAME.png)
````sql
` `
<div>
[NAME](#NAME "NAME") ::= \[A-Za-z\] \[A-Za-z0-9\_\\\$\#@\~\]\*
referenced by:
- [alter\_user\_def](#alter_user_def "alter_user_def")
- [case\_when\_opt\_as\_exp](#case_when_opt_as_exp "case_when_opt_as_exp")
- [cluster\_name](#cluster_name "cluster_name")
- [column](#column "column")
- [column\_def\_opt](#column_def_opt "column_def_opt")
- [column\_ref](#column_ref "column_ref")
- [create\_index\_spec\_column](#create_index_spec_column "create_index_spec_column")
- [create\_role\_def](#create_role_def "create_role_def")
- [create\_user\_def](#create_user_def "create_user_def")
- [cursor](#cursor "cursor")
- [data\_type](#data_type "data_type")
- [drop\_context\_def](#drop_context_def "drop_context_def")
- [drop\_directory\_def](#drop_directory_def "drop_directory_def")
- [drop\_profile\_def](#drop_profile_def "drop_profile_def")
- [drop\_role\_def](#drop_role_def "drop_role_def")
- [drop\_table\_def](#drop_table_def "drop_table_def")
- [drop\_tablespace\_def](#drop_tablespace_def "drop_tablespace_def")
- [drop\_user\_def](#drop_user_def "drop_user_def")
- [extra](#extra "extra")
- [fun\_arg](#fun_arg "fun_arg")
- [fun\_arg\_named](#fun_arg_named "fun_arg_named")
- [function\_name](#function_name "function_name")
- [function\_ref](#function_ref "function_ref")
- [grantee\_identified\_by](#grantee_identified_by "grantee_identified_by")
- [grantee\_revokee](#grantee_revokee "grantee_revokee")
- [identified](#identified "identified")
- [index\_name](#index_name "index_name")
- [join\_ref](#join_ref "join_ref")
- [materialized\_view\_name](#materialized_view_name "materialized_view_name")
- [on\_obj\_clause](#on_obj_clause "on_obj_clause")
- [package\_name](#package_name "package_name")
- [procedure\_name](#procedure_name "procedure_name")
- [quota](#quota "quota")
- [role\_list](#role_list "role_list")
- [scalar\_opt\_as\_exp\_1](#scalar_opt_as_exp_1 "scalar_opt_as_exp_1")
- [schema](#schema "schema")
- [select\_field](#select_field "select_field")
- [sequence\_name](#sequence_name "sequence_name")
- [synonym\_name](#synonym_name "synonym_name")
- [system\_privilege](#system_privilege "system_privilege")
- [table](#table "table")
- [table\_alias](#table_alias "table_alias")
- [table\_constraint\_def](#table_constraint_def "table_constraint_def")
- [table\_dblink](#table_dblink "table_dblink")
- [table\_ref](#table_ref "table_ref")
- [target](#target "target")
- [tbl\_type](#tbl_type "tbl_type")
- [trigger\_name](#trigger_name "trigger_name")
- [type\_name](#type_name "type_name")
- [user\_list](#user_list "user_list")
- [user\_opt](#user_opt "user_opt")
- [when\_action](#when_action "when_action")
## sql: ##
![](diagram/sql.png)
````sql
` `
<div>
[sql](#sql "sql") ::=
[manipulative\_statement](#manipulative_statement "manipulative_statement")
| schema
referenced by:
` `
<div>
[plsql\_body](#plsql_body "plsql_body")
::= 'BEGIN' statement_pragma_list 'END' ';'
referenced by:
` `
<div>
[statement\_pragma\_list](#statement_pragma_list "statement_pragma_list")
::= statement_pragma+
referenced by:
` `
<div>
[statement\_pragma](#statement_pragma "statement_pragma")
::= assign_statement
<div>
| [close\_statement](#close_statement "close_statement")
<div>
| [cursor\_def](#cursor_def "cursor_def")
<div>
|
[delete\_statement\_searched](#delete_statement_searched "delete_statement_searched")
<div>
| [function\_ref](#function_ref "function_ref")
<div>
| [open\_statement](#open_statement "open_statement")
<div>
|
[rollback\_statement](#rollback_statement "rollback_statement")
<div>
|
[update\_statement\_positioned](#update_statement_positioned "update_statement_positioned")
<div>
| 'WHENEVER' ( 'NOT' 'FOUND' | 'SQLERROR' )
[when\_action](#when_action "when_action")
referenced by:
- [statement\_pragma\_list](#statement_pragma_list "statement_pragma_list")
## assignment\_statement: ##
![](diagram/assignment_statement.png)
````sql
` `
<div>
[assignment\_statement](#assignment_statement "assignment_statement")
::= parameter ':=' scalar_opt_as_exp_1
no references
` `
<div>
[procedure\_call](#procedure_call "procedure_call")
::= 'CALL' function_ref
referenced by:
` `
<div>
[schema](#schema "schema") ::= 'CREATE' 'SCHEMA' 'AUTHORIZATION'
[NAME](#NAME "NAME")
[schema\_element\_list](#schema_element_list "schema_element_list")?
referenced by:
- [sql](#sql "sql")
## schema\_element\_list: ##
![](diagram/schema_element_list.png)
````sql
` `
<div>
[schema\_element\_list](#schema_element_list "schema_element_list")
::= schema_element+
referenced by:
` `
<div>
[schema\_element](#schema_element "schema_element")
::= create_table_def
<div>
| [view\_def](#view_def "view_def")
referenced by:
` `
<div>
[create\_role\_def](#create_role_def "create_role_def")
::= 'CREATE' 'ROLE' NAME
referenced by:
` `
<div>
[create\_table\_def](#create_table_def "create_table_def")
::= 'CREATE' create_opts? 'TABLE' table '(' ( base_table_element ( ',' base_table_element )* )? ')'
referenced by:
` `
<div>
[create\_user\_def](#create_user_def "create_user_def")
::= 'CREATE' 'USER' NAME identified user_opts_list?
referenced by:
` `
<div>
[create\_index\_def](#create_index_def "create_index_def")
::= 'CREATE' create_index_opts? 'INDEX' index_name? 'ON' table_alias create_index_spec? create_index_norm? create_index_filter?
referenced by:
` `
<div>
[create\_index\_opts](#create_index_opts "create_index_opts")
::= 'BITMAP'
<div>
| 'HASHMAP'
| 'KEYLIST'
<div>
| 'UNIQUE'
referenced by:
- [create\_index\_def](#create_index_def "create_index_def")
## index\_name: ##
![](diagram/index_name.png)
````sql
` `
<div>
[index\_name](#index_name "index_name")
referenced by:
` `
<div>
[create\_index\_spec](#create_index_spec "create_index_spec")
::= '(' create_index_spec_items ')'
referenced by:
` `
<div>
[create\_index\_spec\_items](#create_index_spec_items "create_index_spec_items")
::= create_index_spec_column ( ',' create_index_spec_items )*
referenced by:
` `
<div>
[create\_index\_spec\_column](#create_index_spec_column "create_index_spec_column")
referenced by:
` `
<div>
[JSON](#JSON "JSON") ::= '|' \[:{\\\[\#\] \[\^|\]+ '|'
referenced by:
- [column\_ref](#column_ref "column_ref")
- [create\_index\_spec\_column](#create_index_spec_column "create_index_spec_column")
- [function\_ref](#function_ref "function_ref")
- [query\_term](#query_term "query_term")
- [scalar\_sub\_exp](#scalar_sub_exp "scalar_sub_exp")
## create\_index\_norm: ##
![](diagram/create_index_norm.png)
````sql
` `
<div>
[create\_index\_norm](#create_index_norm "create_index_norm")
referenced by:
` `
<div>
[STRING](#STRING "STRING") ::= 'fun' \[A-Za-z0-9,\_\]\* '.'\* '->'
'.'\* 'end.'
| 'fun\s' ['A-Za-z0-9_]+ ':' ['A-Za-z0-9_]+ '/'
<div>
| "'" \[\^\\'\]\* "''\*\*"
referenced by:
- [create\_index\_filter](#create_index_filter "create_index_filter")
- [create\_index\_norm](#create_index_norm "create_index_norm")
- [data\_type](#data_type "data_type")
- [grantee\_identified\_by](#grantee_identified_by "grantee_identified_by")
- [literal](#literal "literal")
## create\_index\_filter: ##
![](diagram/create_index_filter.png)
````sql
` `
<div>
[create\_index\_filter](#create_index_filter "create_index_filter")
::= FILTER_WITH STRING
referenced by:
` `
<div>
[create\_opts](#create_opts "create_opts")
<div>
| [tbl\_type](#tbl_type "tbl_type")
referenced by:
- [create\_table\_def](#create_table_def "create_table_def")
## tbl\_scope: ##
![](diagram/tbl_scope.png)
````sql
` `
<div>
[tbl\_scope](#tbl_scope "tbl_scope")
::= 'LOCAL'
<div>
| 'CLUSTER'
| 'SCHEMA'
referenced by:
` `
<div>
[tbl\_type](#tbl_type "tbl_type") ::= 'SET'
| 'ORDERED_SET'
<div>
| 'BAG'
| NAME
referenced by:
` `
<div>
[alter\_user\_def](#alter_user_def "alter_user_def")
::= 'ALTER' 'USER' ( user_list proxy_clause | NAME ( spec_list | NAME NAME ) )
referenced by:
` `
<div>
[user\_list](#user_list "user_list")
referenced by:
` `
<div>
[proxy\_clause](#proxy_clause "proxy_clause")
::= ( 'GRANT' | 'REVOKE' ) 'CONNECT' 'THROUGH' ( 'ENTERPRISE' 'USERS' | db_user_proxy )
referenced by:
` `
<div>
[db\_user\_proxy](#db_user_proxy "db_user_proxy")
::= proxy_with proxy_auth_req?
<div>
| [proxy\_auth\_req](#proxy_auth_req "proxy_auth_req")
referenced by:
- [proxy\_clause](#proxy_clause "proxy_clause")
## proxy\_with: ##
![](diagram/proxy_with.png)
````sql
` `
<div>
[proxy\_with](#proxy_with "proxy_with")
::= 'WITH' ( 'NO' 'ROLES' | 'ROLE' ( 'ALL' 'EXCEPT' )? role_list )
referenced by:
` `
<div>
[proxy\_auth\_req](#proxy_auth_req "proxy_auth_req")
::= 'AUTHENTICATION' 'REQUIRED'
referenced by:
` `
<div>
[spec\_list](#spec_list "spec_list")
::= spec_item+
referenced by:
` `
<div>
[spec\_item](#spec_item "spec_item")
::= identified
<div>
| [user\_opt](#user_opt "user_opt")
referenced by:
` `
<div>
[user\_role](#user_role "user_role")
::= 'DEFAULT' 'ROLE' ( 'ALL' ( 'EXCEPT' role_list )? | NONE | role_list )
referenced by:
` `
<div>
[role\_list](#role_list "role_list")
referenced by:
` `
<div>
[identified](#identified "identified")
::= IDENTIFIED ( ( 'BY' | EXTERNALLY 'AS' ) NAME | 'GLOBALLY' ( 'AS' NAME )? )
referenced by:
` `
<div>
[user\_opts\_list](#user_opts_list "user_opts_list")
::= user_opt+
referenced by:
` `
<div>
[user\_opt](#user_opt "user_opt") ::= ( ( 'DEFAULT' | 'TEMPORARY' )
'TABLESPACE' | 'PROFILE' ) [NAME](#NAME "NAME")
referenced by:
` `
<div>
[quota\_list](#quota_list "quota_list")
::= quota+
referenced by:
` `
<div>
[quota](#quota "quota") ::= 'QUOTA' ( 'UNLIMITED' |
[INTNUM](#INTNUM "INTNUM") [NAME](#NAME "NAME")? ) 'ON'
[NAME](#NAME "NAME")
referenced by:
- [quota\_list](#quota_list "quota_list")
## INTNUM: ##
![](diagram/INTNUM.png)
````sql
` `
<div>
[INTNUM](#INTNUM "INTNUM") ::= \[0-9\]+
referenced by:
- [literal](#literal "literal")
- [quota](#quota "quota")
- [sgn\_num](#sgn_num "sgn_num")
## table\_list: ##
![](diagram/table_list.png)
````sql
` `
<div>
[table\_list](#table_list "table_list")
referenced by:
` `
<div>
[exists](#exists "exists") ::= 'IF' 'EXISTS'
referenced by:
- [drop\_table\_def](#drop_table_def "drop_table_def")
## base\_table\_element\_commalist: ##
![](diagram/base_table_element_commalist.png)
````sql
` `
<div>
[base\_table\_element\_commalist](#base_table_element_commalist "base_table_element_commalist")
::= base_table_element ( ',' base_table_element )*
no references
` `
<div>
[base\_table\_element](#base_table_element "base_table_element")
::= column_def
<div>
|
[table\_constraint\_def](#table_constraint_def "table_constraint_def")
referenced by:
- [base\_table\_element\_commalist](#base_table_element_commalist "base_table_element_commalist")
- [create\_table\_def](#create_table_def "create_table_def")
## column\_def: ##
![](diagram/column_def.png)
````sql
` `
<div>
[column\_def](#column_def "column_def")
::= column data_type column_def_opt*
referenced by:
` `
<div>
[column\_def\_list](#column_def_list "column_def_list")
::= column_def_opt+
no references
` `
<div>
[column\_def\_opt](#column_def_opt "column_def_opt")
::= 'NOT' 'NULL' ( 'UNIQUE' | 'PRIMARY' 'KEY' )?
<div>
| 'DEFAULT' ( [function\_ref](#function_ref "function_ref") |
[literal](#literal "literal") | [NAME](#NAME "NAME") | 'NULL' | 'USER' )
| 'CHECK' '(' search_condition ')'
<div>
| 'REFERENCES' [table](#table "table") ( '('
[column\_commalist](#column_commalist "column_commalist") ')' )?
referenced by:
- [column\_def](#column_def "column_def")
- [column\_def\_list](#column_def_list "column_def_list")
## table\_constraint\_def: ##
![](diagram/table_constraint_def.png)
````sql
` `
<div>
[table\_constraint\_def](#table_constraint_def "table_constraint_def")
::= ( ( ( 'CONSTRAINT' NAME )? 'UNIQUE' | 'PRIMARY' 'KEY' ) '(' column_commalist | 'CHECK' '(' search_condition ) ')'
<div>
| 'FOREIGN' 'KEY' '('
[column\_commalist](#column_commalist "column_commalist") ')'
'REFERENCES' [table](#table "table") ( '('
[column\_commalist](#column_commalist "column_commalist") ')' )?
referenced by:
- [base\_table\_element](#base_table_element "base_table_element")
## column\_commalist: ##
![](diagram/column_commalist.png)
````sql
` `
<div>
[column\_commalist](#column_commalist "column_commalist")
referenced by:
` `
<div>
[view\_def](#view_def "view_def") ::= 'CREATE' 'VIEW'
[table](#table "table") ( '('
[column\_commalist](#column_commalist "column_commalist") ')' )? 'AS'
[query\_spec](#query_spec "query_spec") ( 'WITH' 'CHECK' 'OPTION' )?
referenced by:
- [manipulative\_statement](#manipulative_statement "manipulative_statement")
- [schema\_element](#schema_element "schema_element")
## grant\_def: ##
![](diagram/grant_def.png)
````sql
` `
<div>
[grant\_def](#grant_def "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:
` `
<div>
[revoke\_def](#revoke_def "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:
` `
<div>
[grantee\_identified\_by](#grantee_identified_by "grantee_identified_by")
::= NAME 'IDENTIFIED' 'BY' STRING
referenced by:
` `
<div>
[grantee\_revokee](#grantee_revokee "grantee_revokee")
::= NAME
<div>
| 'PUBLIC'
referenced by:
- [grant\_def](#grant_def "grant_def")
- [grantee\_revokee\_commalist](#grantee_revokee_commalist "grantee_revokee_commalist")
- [revoke\_def](#revoke_def "revoke_def")
## grantee\_revokee\_commalist: ##
![](diagram/grantee_revokee_commalist.png)
````sql
` `
<div>
[grantee\_revokee\_commalist](#grantee_revokee_commalist "grantee_revokee_commalist")
::= grantee_revokee ( ',' grantee_revokee )*
no references
` `
<div>
[object\_privilege](#object_privilege "object_privilege")
::= 'ALL'
<div>
| 'ALTER'
| 'DELETE'
<div>
| 'EXECUTE'
| 'INDEX'
<div>
| 'INSERT'
| 'REFERENCES'
<div>
| 'SELECT'
| 'UPDATE'
referenced by:
` `
<div>
[object\_privilege\_list](#object_privilege_list "object_privilege_list")
::= object_privilege ( ',' object_privilege )*
no references
` `
<div>
[object\_with\_grant\_option](#object_with_grant_option "object_with_grant_option")
::= 'WITH' ( 'GRANT' | 'HIERARCHY' ) 'OPTION'
no references
` `
<div>
[object\_with\_revoke\_option](#object_with_revoke_option "object_with_revoke_option")
::= 'CASCADE' 'CONSTRAINTS'
<div>
| 'FORCE'
no references
## on\_obj\_clause: ##
![](diagram/on_obj_clause.png)
````sql
` `
<div>
[on\_obj\_clause](#on_obj_clause "on_obj_clause")
::= 'ON' ( table | 'DIRECTORY' NAME )
referenced by:
` `
<div>
[system\_privilege](#system_privilege "system_privilege")
::= 'ADMIN'
<div>
| 'ALL'
| ( 'ALTER' | 'CREATE' | 'DROP' ) 'ANY' ( 'INDEX' | 'MATERIALIZED'? 'VIEW' | 'TABLE' )
<div>
| 'CREATE' ( 'MATERIALIZED'? 'VIEW' | 'TABLE' )
| ( 'DELETE' | 'INSERT' | 'SELECT' | 'UPDATE' ) 'ANY' 'TABLE'
<div>
| [NAME](#NAME "NAME")
referenced by:
- [grant\_def](#grant_def "grant_def")
- [revoke\_def](#revoke_def "revoke_def")
- [system\_privilege\_list](#system_privilege_list "system_privilege_list")
## system\_privilege\_list: ##
![](diagram/system_privilege_list.png)
````sql
` `
<div>
[system\_privilege\_list](#system_privilege_list "system_privilege_list")
::= system_privilege ( ',' system_privilege )*
no references
` `
<div>
[system\_with\_grant\_option](#system_with_grant_option "system_with_grant_option")
::= 'WITH' ( 'ADMIN' | 'DELEGATE' ) 'OPTION'
no references
` `
<div>
[cursor\_def](#cursor_def "cursor_def")
::= 'CURSOR' cursor 'IS' query_exp
referenced by:
` `
<div>
[order\_by\_clause](#order_by_clause "order_by_clause")
::= 'ORDER' 'BY' ordering_spec_commalist
referenced by:
` `
<div>
[ordering\_spec\_commalist](#ordering_spec_commalist "ordering_spec_commalist")
::= ordering_spec ',' ordering_spec
referenced by:
` `
<div>
[ordering\_spec](#ordering_spec "ordering_spec")
::= scalar_exp asc_desc?
referenced by:
` `
<div>
[asc\_desc](#asc_desc "asc_desc") ::= 'ASC'
| 'DESC'
referenced by:
` `
<div>
[manipulative\_statement](#manipulative_statement "manipulative_statement")
::= alter_user_def
<div>
| [create\_index\_def](#create_index_def "create_index_def")
<div>
| [create\_table\_def](#create_table_def "create_table_def")
<div>
|
[delete\_statement\_positioned](#delete_statement_positioned "delete_statement_positioned")
<div>
| [drop\_cluster\_def](#drop_cluster_def "drop_cluster_def")
<div>
|
[drop\_database\_def](#drop_database_def "drop_database_def")
<div>
|
[drop\_directory\_def](#drop_directory_def "drop_directory_def")
<div>
| [drop\_index\_def](#drop_index_def "drop_index_def")
<div>
| [drop\_package\_def](#drop_package_def "drop_package_def")
<div>
| [drop\_profile\_def](#drop_profile_def "drop_profile_def")
<div>
|
[drop\_sequence\_def](#drop_sequence_def "drop_sequence_def")
<div>
| [drop\_table\_def](#drop_table_def "drop_table_def")
<div>
| [drop\_trigger\_def](#drop_trigger_def "drop_trigger_def")
<div>
|
[drop\_type\_body\_def](#drop_type_body_def "drop_type_body_def")
<div>
| [drop\_view\_def](#drop_view_def "drop_view_def")
<div>
| [insert\_statement](#insert_statement "insert_statement")
<div>
| [select\_statement](#select_statement "select_statement")
<div>
| [truncate\_table](#truncate_table "truncate_table")
<div>
|
[update\_statement\_searched](#update_statement_searched "update_statement_searched")
| view_def
referenced by:
` `
<div>
[close\_statement](#close_statement "close_statement")
::= 'CLOSE' cursor
referenced by:
` `
<div>
[commit\_statement](#commit_statement "commit_statement")
::= 'COMMIT' 'WORK'?
referenced by:
` `
<div>
[delete\_statement\_positioned](#delete_statement_positioned "delete_statement_positioned")
::= 'DELETE' 'FROM' table_dblink 'WHERE' 'CURRENT' 'OF' cursor returning?
referenced by:
` `
<div>
[delete\_statement\_searched](#delete_statement_searched "delete_statement_searched")
::= 'DELETE' 'FROM' table_dblink where_clause? returning?
referenced by:
` `
<div>
[drop\_cluster\_def](#drop_cluster_def "drop_cluster_def")
::= 'DROP' 'CLUSTER' cluster_name drop_cluster_extensions?
referenced by:
` `
<div>
[drop\_cluster\_extensions](#drop_cluster_extensions "drop_cluster_extensions")
::= 'INCLUDING' 'TABLES' ( 'CASCADE' 'CONSTRAINTS' )?
referenced by:
` `
<div>
[cluster\_name](#cluster_name "cluster_name")
referenced by:
` `
<div>
[drop\_context\_def](#drop_context_def "drop_context_def")
::= 'DROP' 'CONTEXT' NAME
referenced by:
` `
<div>
[drop\_database\_def](#drop_database_def "drop_database_def")
::= 'DROP' 'DATABASE'
referenced by:
` `
<div>
[drop\_database\_link\_def](#drop_database_link_def "drop_database_link_def")
::= 'DROP' 'PUBLIC'? 'DATABASE' 'LINK' 'DBLINK'
referenced by:
` `
<div>
[drop\_directory\_def](#drop_directory_def "drop_directory_def")
::= 'DROP' 'DIRECTORY' NAME
referenced by:
` `
<div>
[drop\_function\_def](#drop_function_def "drop_function_def")
::= 'DROP' 'FUNCTION' function_name
referenced by:
` `
<div>
[function\_name](#function_name "function_name")
referenced by:
` `
<div>
[drop\_index\_def](#drop_index_def "drop_index_def")
::= 'DROP' 'INDEX' ( index_name ( 'FROM' table )? | 'FROM' table ) drop_index_extensions?
referenced by:
` `
<div>
[drop\_index\_extensions](#drop_index_extensions "drop_index_extensions")
::= ( 'DEFERRED' | 'IMMEDIATE' ) 'INVALIDATION'
<div>
| 'FORCE' ( ( 'DEFERRED' | 'IMMEDIATE' ) 'INVALIDATION' )?
| 'ONLINE' ( 'FORCE'? ( 'DEFERRED' | 'IMMEDIATE' ) 'INVALIDATION' )?
referenced by:
` `
<div>
[drop\_materialized\_view\_def](#drop_materialized_view_def "drop_materialized_view_def")
::= 'DROP' 'MATERIALIZED' 'VIEW' materialized_view_name ( 'PRESERVE' 'TABLE' )?
referenced by:
` `
<div>
[materialized\_view\_name](#materialized_view_name "materialized_view_name")
referenced by:
` `
<div>
[drop\_package\_def](#drop_package_def "drop_package_def")
::= 'DROP' 'PACKAGE' 'BODY'? package_name
referenced by:
` `
<div>
[package\_name](#package_name "package_name")
referenced by:
` `
<div>
[drop\_procedure\_def](#drop_procedure_def "drop_procedure_def")
::= 'DROP' 'PROCEDURE' procedure_name
referenced by:
` `
<div>
[procedure\_name](#procedure_name "procedure_name")
referenced by:
` `
<div>
[drop\_profile\_def](#drop_profile_def "drop_profile_def")
::= 'DROP' 'PROFILE' NAME 'CASCADE'?
referenced by:
` `
<div>
[drop\_role\_def](#drop_role_def "drop_role_def")
::= 'DROP' 'ROLE' NAME
referenced by:
` `
<div>
[drop\_sequence\_def](#drop_sequence_def "drop_sequence_def")
::= 'DROP' 'SEQUENCE' sequence_name
referenced by:
` `
<div>
[sequence\_name](#sequence_name "sequence_name")
referenced by:
` `
<div>
[drop\_synonym\_def](#drop_synonym_def "drop_synonym_def")
::= 'DROP' 'PUBLIC'? 'SYNONYM' synonym_name 'FORCE'?
referenced by:
` `
<div>
[synonym\_name](#synonym_name "synonym_name")
referenced by:
` `
<div>
[drop\_table\_def](#drop_table_def "drop_table_def")
::= 'DROP' NAME? 'TABLE' exists? table_list drop_table_extensions?
referenced by:
` `
<div>
[drop\_table\_extensions](#drop_table_extensions "drop_table_extensions")
::= 'CASCADE' 'CONSTRAINTS' 'PURGE'?
<div>
| 'PURGE'
referenced by:
- [drop\_table\_def](#drop_table_def "drop_table_def")
## drop\_tablespace\_def: ##
![](diagram/drop_tablespace_def.png)
````sql
` `
<div>
[drop\_tablespace\_def](#drop_tablespace_def "drop_tablespace_def")
::= 'DROP' 'TABLESPACE' NAME drop_tablespace_extensions?
referenced by:
` `
<div>
[drop\_tablespace\_extensions](#drop_tablespace_extensions "drop_tablespace_extensions")
::= ( ( 'DROP' | 'KEEP' ) 'QUOTA' )? 'INCLUDING' 'CONTENTS' ( ( 'AND' | 'KEEP' ) 'DATAFILES' )? ( 'CASCADE' 'CONSTRAINTS' )?
referenced by:
` `
<div>
[drop\_trigger\_def](#drop_trigger_def "drop_trigger_def")
::= 'DROP' 'TRIGGER' trigger_name
referenced by:
` `
<div>
[trigger\_name](#trigger_name "trigger_name")
referenced by:
` `
<div>
[drop\_type\_def](#drop_type_def "drop_type_def")
::= 'DROP' 'TYPE' type_name ( 'FORCE' | 'VALIDATE' )?
referenced by:
` `
<div>
[type\_name](#type_name "type_name")
referenced by:
` `
<div>
[drop\_type\_body\_def](#drop_type_body_def "drop_type_body_def")
::= 'DROP' 'TYPE' 'BODY' type_name
referenced by:
` `
<div>
[drop\_user\_def](#drop_user_def "drop_user_def")
::= 'DROP' 'USER' NAME 'CASCADE'?
referenced by:
` `
<div>
[drop\_view\_def](#drop_view_def "drop_view_def")
::= 'DROP' 'VIEW' table ( 'CASCADE' 'CONSTRAINTS' )?
referenced by:
` `
<div>
[fetch\_statement](#fetch_statement "fetch_statement")
::= 'FETCH' cursor 'INTO' target_commalist
referenced by:
` `
<div>
[insert\_statement](#insert_statement "insert_statement")
::= 'INSERT' 'INTO' table_dblink ( ( '(' column_commalist ')' )? values_or_query_spec )? returning?
referenced by:
` `
<div>
[values\_or\_query\_spec](#values_or_query_spec "values_or_query_spec")
::= ( 'VALUES' '(' insert_atom_commalist | '(' query_spec ) ')'
<div>
| [query\_spec](#query_spec "query_spec")
referenced by:
- [insert\_statement](#insert_statement "insert_statement")
## insert\_atom\_commalist: ##
![](diagram/insert_atom_commalist.png)
````sql
` `
<div>
[insert\_atom\_commalist](#insert_atom_commalist "insert_atom_commalist")
::= insert_atom ( ',' insert_atom )*
referenced by:
` `
<div>
[insert\_atom](#insert_atom "insert_atom")
referenced by:
` `
<div>
[open\_statement](#open_statement "open_statement")
::= 'OPEN' cursor
referenced by:
` `
<div>
[rollback\_statement](#rollback_statement "rollback_statement")
::= 'ROLLBACK' 'WORK'?
referenced by:
` `
<div>
[select\_statement](#select_statement "select_statement")
::= query_exp
referenced by:
` `
<div>
[hint](#hint "hint") ::= [HINT](#HINT "HINT")
referenced by:
- [query\_spec](#query_spec "query_spec")
## HINT: ##
![](diagram/HINT.png)
````sql
` `
<div>
[HINT](#HINT "HINT") ::= '/\*' \[\^\\\*/\]\* '\*/'
referenced by:
- [hint](#hint "hint")
## all\_distinct: ##
![](diagram/all_distinct.png)
````sql
` `
<div>
[all\_distinct](#all_distinct "all_distinct")
::= 'ALL'
<div>
| 'DISTINCT'
no references
## truncate\_cluster: ##
![](diagram/truncate_cluster.png)
````sql
` `
<div>
[truncate\_cluster](#truncate_cluster "truncate_cluster")
::= 'TRUNCATE' 'CLUSTER' cluster_name storage?
referenced by:
` `
<div>
[truncate\_table](#truncate_table "truncate_table")
::= 'TRUNCATE' 'TABLE' table materialized? storage? 'CASCADE'?
referenced by:
` `
<div>
[materialized](#materialized "materialized")
::= ( 'PRESERVE' | 'PURGE' ) 'MATERIALIZED' 'VIEW' 'LOG'
referenced by:
` `
<div>
[storage](#storage "storage") ::= ( 'DROP' 'ALL'? | 'REUSE' ) 'STORAGE'
referenced by:
- [truncate\_cluster](#truncate_cluster "truncate_cluster")
- [truncate\_table](#truncate_table "truncate_table")
## update\_statement\_positioned: ##
![](diagram/update_statement_positioned.png)
````sql
` `
<div>
[update\_statement\_positioned](#update_statement_positioned "update_statement_positioned")
::= 'UPDATE' table_dblink 'SET' assignment_commalist 'WHERE' 'CURRENT' 'OF' cursor returning?
referenced by:
` `
<div>
[assignment\_commalist](#assignment_commalist "assignment_commalist")
::= assignment ( ',' assignment )*
referenced by:
` `
<div>
[assignment](#assignment "assignment")
::= column '=' scalar_opt_as_exp
referenced by:
` `
<div>
[update\_statement\_searched](#update_statement_searched "update_statement_searched")
::= 'UPDATE' table_dblink 'SET' assignment_commalist where_clause? returning?
referenced by:
` `
<div>
[target\_commalist](#target_commalist "target_commalist")
referenced by:
` `
<div>
[target](#target "target") ::= [NAME](#NAME "NAME")
referenced by:
` `
<div>
[query\_exp](#query_exp "query_exp")
::= query_term ( ( 'UNION' 'ALL'? | 'INTERSECT' | 'MINUS' ) query_term )*
referenced by:
` `
<div>
[returning](#returning "returning")
::= ( 'RETURNING' | 'RETURN' ) selection 'INTO' selection
referenced by:
- delete_statement_positioned
- delete_statement_searched
- insert_statement
- update_statement_positioned
- update_statement_searched
` `
<div>
[query\_term](#query_term "query_term")
::= query_spec
<div>
| '(' [query\_exp](#query_exp "query_exp") ')'
[JSON](#JSON "JSON")?
referenced by:
- [join\_ref](#join_ref "join_ref")
- [query\_exp](#query_exp "query_exp")
- [table\_ref](#table_ref "table_ref")
## query\_spec: ##
![](diagram/query_spec.png)
````sql
` `
<div>
[query\_spec](#query_spec "query_spec")
::= 'SELECT' hint? ( 'ALL' | 'DISTINCT' )? selection into? table_exp
referenced by:
` `
<div>
[into](#into "into") ::= 'INTO'
[target\_commalist](#target_commalist "target_commalist")
referenced by:
- [query\_spec](#query_spec "query_spec")
## selection: ##
![](diagram/selection.png)
````sql
` `
<div>
[selection](#selection "selection")
referenced by:
` `
<div>
[select\_field](#select_field "select_field")
::= case_when_exp ( 'AS'? NAME )?
<div>
|
[scalar\_opt\_as\_exp](#scalar_opt_as_exp "scalar_opt_as_exp")
| '*'
referenced by:
` `
<div>
[select\_field\_commalist](#select_field_commalist "select_field_commalist")
::= select_field ( ',' select_field )*
referenced by:
` `
<div>
[case\_when\_opt\_as\_exp](#case_when_opt_as_exp "case_when_opt_as_exp")
::= case_when_exp ( 'AS'? NAME )?
no references
` `
<div>
[case\_when\_exp](#case_when_exp "case_when_exp")
::= '(' case_when_exp ')'
<div>
| 'CASE'
[scalar\_opt\_as\_exp](#scalar_opt_as_exp "scalar_opt_as_exp")?
[case\_when\_then\_list](#case_when_then_list "case_when_then_list")
[else](#else "else")? 'END'
referenced by:
- [case\_when\_exp](#case_when_exp "case_when_exp")
- [case\_when\_opt\_as\_exp](#case_when_opt_as_exp "case_when_opt_as_exp")
- [fun\_arg](#fun_arg "fun_arg")
- [select\_field](#select_field "select_field")
## case\_when\_then\_list: ##
![](diagram/case_when_then_list.png)
````sql
` `
<div>
[case\_when\_then\_list](#case_when_then_list "case_when_then_list")
::= case_when_then+
referenced by:
` `
<div>
[case\_when\_then](#case_when_then "case_when_then")
::= 'WHEN' search_condition 'THEN' scalar_opt_as_exp
referenced by:
` `
<div>
[else](#else "else") ::= 'ELSE'
[scalar\_opt\_as\_exp](#scalar_opt_as_exp "scalar_opt_as_exp")
referenced by:
- [case\_when\_exp](#case_when_exp "case_when_exp")
## table\_exp: ##
![](diagram/table_exp.png)
````sql
` `
<div>
[table\_exp](#table_exp "table_exp")
::= from_clause where_clause? hierarchical_query_clause? group_by_clause? having_clause? order_by_clause?
referenced by:
` `
<div>
[from\_clause](#from_clause "from_clause")
::= 'FROM' from_column_commalist
referenced by:
` `
<div>
[from\_column](#from_column "from_column")
::= table_ref
<div>
| '(' [join\_clause](#join_clause "join_clause") ')'
referenced by:
` `
<div>
[from\_column\_commalist](#from_column_commalist "from_column_commalist")
::= from_column ( ',' from_column )*
referenced by:
` `
<div>
[join\_clause](#join_clause "join_clause")
referenced by:
` `
<div>
[join](#join "join") ::=
[inner\_cross\_join](#inner_cross_join "inner_cross_join")
referenced by:
` `
<div>
[join\_list](#join_list "join_list")
::= join+
referenced by:
` `
<div>
[inner\_cross\_join](#inner_cross_join "inner_cross_join")
::= 'INNER'? 'JOIN' join_ref join_on_or_using_clause
<div>
| ( 'CROSS' | 'NATURAL' 'INNER'? ) 'JOIN'
[join\_ref](#join_ref "join_ref")
referenced by:
- [join](#join "join")
## join\_on\_or\_using\_clause: ##
![](diagram/join_on_or_using_clause.png)
````sql
` `
<div>
[join\_on\_or\_using\_clause](#join_on_or_using_clause "join_on_or_using_clause")
::= 'ON' search_condition
<div>
| 'USING' '('
[select\_field\_commalist](#select_field_commalist "select_field_commalist")
')'
referenced by:
- [inner\_cross\_join](#inner_cross_join "inner_cross_join")
- [outer\_join](#outer_join "outer_join")
## outer\_join: ##
![](diagram/outer_join.png)
````sql
` `
<div>
[outer\_join](#outer_join "outer_join")
::= query_partition_clause? 'NATURAL'? outer_join_type 'JOIN' join_ref query_partition_clause? join_on_or_using_clause?
referenced by:
` `
<div>
[query\_partition\_clause](#query_partition_clause "query_partition_clause")
::= 'PARTITION' 'BY' ( '(' scalar_exp_commalist ')' | scalar_exp_commalist )
referenced by:
` `
<div>
[outer\_join\_type](#outer_join_type "outer_join_type")
::= ( 'FULL' | 'LEFT' | 'RIGHT' ) 'OUTER'?
referenced by:
` `
<div>
[table\_ref](#table_ref "table_ref")
::= table_dblink
<div>
| [query\_term](#query_term "query_term")
[NAME](#NAME "NAME")?
referenced by:
- [from\_column](#from_column "from_column")
- [join\_clause](#join_clause "join_clause")
## join\_ref: ##
![](diagram/join_ref.png)
````sql
` `
<div>
[join\_ref](#join_ref "join_ref") ::=
[table\_dblink](#table_dblink "table_dblink")
| query_term NAME?
referenced by:
` `
<div>
[hierarchical\_query\_clause](#hierarchical_query_clause "hierarchical_query_clause")
::= ( 'START' 'WITH' search_condition 'CONNECT' 'BY' 'NOCYCLE'? | 'CONNECT' 'BY' 'NOCYCLE'? search_condition 'START' 'WITH' ) search_condition
referenced by:
` `
<div>
[where\_clause](#where_clause "where_clause")
::= 'WHERE' search_condition
referenced by:
` `
<div>
[group\_by\_clause](#group_by_clause "group_by_clause")
::= 'GROUP' 'BY' column_ref_commalist
referenced by:
` `
<div>
[column\_ref\_commalist](#column_ref_commalist "column_ref_commalist")
::= ( column_ref | function_ref ) ( ',' ( column_ref | function_ref ) )*
referenced by:
` `
<div>
[having\_clause](#having_clause "having_clause")
::= 'HAVING' search_condition
referenced by:
` `
<div>
[search\_condition](#search_condition "search_condition")
::= ( search_condition ( 'AND' | 'OR' ) | 'NOT' ) search_condition
<div>
| '('
[search\_condition](#search_condition "search_condition") ')'
referenced by:
- case_when_then
- column_def_opt
- having_clause
- hierarchical_query_clause
- join_on_or_using_clause
- search_condition
- table_constraint_def
- where_clause
` `
<div>
[predicate](#predicate "predicate")
<div>
|
[between\_predicate](#between_predicate "between_predicate")
<div>
| [test\_for\_null](#test_for_null "test_for_null")
<div>
|
[all\_or\_any\_predicate](#all_or_any_predicate "all_or_any_predicate")
referenced by:
` `
<div>
[comparison\_predicate](#comparison_predicate "comparison_predicate")
<div>
| ( [scalar\_exp](#scalar_exp "scalar_exp") ( '=' |
[COMPARISON](#COMPARISON "COMPARISON") ) 'PRIOR' | 'PRIOR'
[scalar\_exp](#scalar_exp "scalar_exp") ( '=' |
[COMPARISON](#COMPARISON "COMPARISON") ) )
[scalar\_exp](#scalar_exp "scalar_exp")
referenced by:
- [predicate](#predicate "predicate")
## COMPARISON: ##
![](diagram/COMPARISON.png)
````sql
` `
<div>
[COMPARISON](#COMPARISON "COMPARISON")
::= '!='
<div>
| '\^='
| '<>'
<div>
| '<'
| '>'
<div>
| '<='
| '>='
referenced by:
` `
<div>
[between\_predicate](#between_predicate "between_predicate")
::= scalar_exp ( 'BETWEEN' | not_between ) scalar_exp 'AND' scalar_exp
referenced by:
` `
<div>
[not\_between](#not_between "not_between")
::= 'NOT' 'BETWEEN'
referenced by:
` `
<div>
[like\_predicate](#like_predicate "like_predicate")
::= scalar_exp ( 'LIKE' | not_like ) scalar_exp escape?
referenced by:
` `
<div>
[not\_like](#not_like "not_like") ::= 'NOT' 'LIKE'
referenced by:
- [like\_predicate](#like_predicate "like_predicate")
## escape: ##
![](diagram/escape.png)
````sql
` `
<div>
[escape](#escape "escape") ::= 'ESCAPE' [atom](#atom "atom")
referenced by:
- [like\_predicate](#like_predicate "like_predicate")
## test\_for\_null: ##
![](diagram/test_for_null.png)
````sql
` `
<div>
[test\_for\_null](#test_for_null "test_for_null")
::= scalar_exp ( is_null | is_not_null )
referenced by:
` `
<div>
[is\_not\_null](#is_not_null "is_not_null")
::= 'IS' 'NOT' 'NULL'
referenced by:
` `
<div>
[is\_null](#is_null "is_null") ::= 'IS' 'NULL'
referenced by:
- [test\_for\_null](#test_for_null "test_for_null")
## in\_predicate: ##
![](diagram/in_predicate.png)
````sql
` `
<div>
[in\_predicate](#in_predicate "in_predicate")
::= scalar_exp ( 'IN' | not_in ) ( '(' ( subquery | scalar_exp_commalist ) ')' | scalar_exp )
referenced by:
` `
<div>
[not\_in](#not_in "not_in") ::= 'NOT' 'IN'
referenced by:
- [in\_predicate](#in_predicate "in_predicate")
## all\_or\_any\_predicate: ##
![](diagram/all_or_any_predicate.png)
````sql
` `
<div>
[all\_or\_any\_predicate](#all_or_any_predicate "all_or_any_predicate")
::= scalar_exp ( '=' | COMPARISON ) any_all_some subquery
referenced by:
` `
<div>
[any\_all\_some](#any_all_some "any_all_some")
::= 'ANY'
<div>
| 'ALL'
| 'SOME'
referenced by:
` `
<div>
[existence\_test](#existence_test "existence_test")
::= 'EXISTS' subquery
referenced by:
` `
<div>
[table\_coll\_expr](#table_coll_expr "table_coll_expr")
::= TABLE '(' ( column_ref | function_ref | subquery ) ')'
referenced by:
` `
<div>
[subquery](#subquery "subquery") ::=
[query\_exp](#query_exp "query_exp")
referenced by:
- [all\_or\_any\_predicate](#all_or_any_predicate "all_or_any_predicate")
- [existence\_test](#existence_test "existence_test")
- [fun\_arg](#fun_arg "fun_arg")
- [in\_predicate](#in_predicate "in_predicate")
- [scalar\_sub\_exp](#scalar_sub_exp "scalar_sub_exp")
- [table\_coll\_expr](#table_coll_expr "table_coll_expr")
## scalar\_opt\_as\_exp\_1: ##
![](diagram/scalar_opt_as_exp_1.png)
````sql
` `
<div>
[scalar\_opt\_as\_exp\_1](#scalar_opt_as_exp_1 "scalar_opt_as_exp_1")
::= scalar_exp ( ( '=' | COMPARISON ) scalar_exp | AS? NAME )?
referenced by:
` `
<div>
[scalar\_opt\_as\_exp](#scalar_opt_as_exp "scalar_opt_as_exp")
<div>
|
[scalar\_opt\_as\_exp\_2](#scalar_opt_as_exp_2 "scalar_opt_as_exp_2")
referenced by:
- [assignment](#assignment "assignment")
- [case\_when\_exp](#case_when_exp "case_when_exp")
- [case\_when\_then](#case_when_then "case_when_then")
- [comparison\_predicate](#comparison_predicate "comparison_predicate")
- [else](#else "else")
- [insert\_atom](#insert_atom "insert_atom")
- [scalar\_exp\_commalist](#scalar_exp_commalist "scalar_exp_commalist")
- [select\_field](#select_field "select_field")
## scalar\_exp: ##
![](diagram/scalar_exp.png)
````sql
` `
<div>
[scalar\_exp](#scalar_exp "scalar_exp")
::= scalar_sub_exp ( '||' scalar_sub_exp )*
referenced by:
- all_or_any_predicate
- between_predicate
- comparison_predicate
- function_ref
- in_predicate
- like_predicate
- ordering_spec
- scalar_opt_as_exp_1
- test_for_null
` `
<div>
[scalar\_sub\_exp](#scalar_sub_exp "scalar_sub_exp")
::= ( scalar_sub_exp ( '+' | '-' | '*' | '/' | 'div' ) | unary_add_or_subtract ) scalar_sub_exp
<div>
| 'NULL'
| atom
<div>
| [subquery](#subquery "subquery")
<div>
| [function\_ref](#function_ref "function_ref")
| '(' scalar_sub_exp ')' JSON?
referenced by:
` `
<div>
[unary\_add\_or\_subtract](#unary_add_or_subtract "unary_add_or_subtract")
::= '+'
<div>
| '-'
referenced by:
- [scalar\_sub\_exp](#scalar_sub_exp "scalar_sub_exp")
## scalar\_exp\_commalist: ##
![](diagram/scalar_exp_commalist.png)
````sql
` `
<div>
[scalar\_exp\_commalist](#scalar_exp_commalist "scalar_exp_commalist")
::= scalar_opt_as_exp ( ',' scalar_opt_as_exp )*
referenced by:
` `
<div>
[atom](#atom "atom") ::=
[parameter\_ref](#parameter_ref "parameter_ref")
| literal
<div>
| 'USER'
referenced by:
- [escape](#escape "escape")
- [fun\_arg](#fun_arg "fun_arg")
- [scalar\_sub\_exp](#scalar_sub_exp "scalar_sub_exp")
## parameter\_ref: ##
![](diagram/parameter_ref.png)
````sql
` `
<div>
[parameter\_ref](#parameter_ref "parameter_ref")
::= parameter ( 'INDICATOR'? parameter )?
referenced by:
` `
<div>
[function\_ref](#function_ref "function_ref")
::= ( NAME ( '.' NAME ( '.' NAME )? )? '(' ( fun_args | fun_args_named )? ')' | 'FUNS' ( '(' ( fun_args | fun_args_named | '*' | 'DISTINCT' column_ref | 'ALL' scalar_exp )? ')' )? ) JSON*
referenced by:
- column_def_opt
- column_ref_commalist
- fun_arg
- procedure_call
- scalar_sub_exp
- statement_pragma
- table_coll_expr
` `
<div>
[fun\_args](#fun_args "fun_args") ::= [fun\_arg](#fun_arg "fun_arg") (
',' [fun\_arg](#fun_arg "fun_arg") )\*
referenced by:
- [function\_ref](#function_ref "function_ref")
## fun\_arg: ##
![](diagram/fun_arg.png)
````sql
` `
<div>
[fun\_arg](#fun_arg "fun_arg") ::= '(' [fun\_arg](#fun_arg "fun_arg")
')'
| atom
<div>
| [case\_when\_exp](#case_when_exp "case_when_exp")
<div>
| [fun\_arg](#fun_arg "fun_arg") ( 'AS'? [NAME](#NAME "NAME")
| ( '\*' | '+' | '-' | '/' | '=' | 'div' | '||' |
[COMPARISON](#COMPARISON "COMPARISON") ) [fun\_arg](#fun_arg "fun_arg")
)
<div>
| 'NULL'
| subquery
<div>
| ( '+' | '-' ) [fun\_arg](#fun_arg "fun_arg")
referenced by:
- [fun\_arg](#fun_arg "fun_arg")
- [fun\_args](#fun_args "fun_args")
## fun\_args\_named: ##
![](diagram/fun_args_named.png)
````sql
` `
<div>
[fun\_args\_named](#fun_args_named "fun_args_named")
::= fun_arg_named ( ',' fun_arg_named )*
referenced by:
` `
<div>
[fun\_arg\_named](#fun_arg_named "fun_arg_named")
::= NAME '=>' ( literal | NAME | parameter )
referenced by:
` `
<div>
[literal](#literal "literal") ::= [STRING](#STRING "STRING")
| INTNUM
<div>
| [APPROXNUM](#APPROXNUM "APPROXNUM")
referenced by:
- [atom](#atom "atom")
- [column\_def\_opt](#column_def_opt "column_def_opt")
- [fun\_arg\_named](#fun_arg_named "fun_arg_named")
## APPROXNUM: ##
![](diagram/APPROXNUM.png)
````sql
` `
<div>
[APPROXNUM](#APPROXNUM "APPROXNUM")
::= ( '.' [0-9] | [0-9]+ '.'? ) [0-9]* ( [eE]
referenced by:
` `
<div>
[table](#table "table") ::= [NAME](#NAME "NAME") ( '.'
[NAME](#NAME "NAME") )?
referenced by:
- column_def_opt
- create_table_def
- drop_index_def
- drop_view_def
- on_obj_clause
- table_alias
- table_constraint_def
- table_list
- truncate_table
- view_def
` `
<div>
[table\_alias](#table_alias "table_alias")
::= ( NAME ( '.' NAME )? | parameter ) NAME
<div>
| [table](#table "table")
referenced by:
- [create\_index\_def](#create_index_def "create_index_def")
- [table\_dblink](#table_dblink "table_dblink")
## table\_dblink: ##
![](diagram/table_dblink.png)
````sql
` `
<div>
[table\_dblink](#table_dblink "table_dblink")
::= ( NAME ( '.' NAME )? | parameter ) DBLINK NAME?
<div>
| [table\_alias](#table_alias "table_alias")
referenced by:
- delete_statement_positioned
- delete_statement_searched
- insert_statement
- join_ref
- table_ref
- update_statement_positioned
- update_statement_searched
` `
<div>
[column\_ref](#column_ref "column_ref")
::= ( NAME '.' ( NAME '.' )? )? ( 'FUNCTION' | NAME | 'TYPE' ) ( JSON | '(' '+' ')' )?
<div>
| [NAME](#NAME "NAME") '.' ( [NAME](#NAME "NAME") '.' )? '\*'
referenced by:
- [column\_ref\_commalist](#column_ref_commalist "column_ref_commalist")
- [fun\_arg](#fun_arg "fun_arg")
- [function\_ref](#function_ref "function_ref")
- [scalar\_sub\_exp](#scalar_sub_exp "scalar_sub_exp")
- [table\_coll\_expr](#table_coll_expr "table_coll_expr")
## data\_type: ##
![](diagram/data_type.png)
````sql
` `
<div>
[data\_type](#data_type "data_type")
::= STRING
<div>
| [NAME](#NAME "NAME") ( '(' [sgn\_num](#sgn_num "sgn_num") (
',' [sgn\_num](#sgn_num "sgn_num") )? ')' )?
referenced by:
- [column\_def](#column_def "column_def")
## sgn\_num: ##
![](diagram/sgn_num.png)
````sql
` `
<div>
[sgn\_num](#sgn_num "sgn_num") ::= '-'? [INTNUM](#INTNUM "INTNUM")
referenced by:
- [data\_type](#data_type "data_type")
## column: ##
![](diagram/column.png)
````sql
` `
<div>
[column](#column "column") ::= [NAME](#NAME "NAME")
referenced by:
- [assignment](#assignment "assignment")
- [column\_commalist](#column_commalist "column_commalist")
- [column\_def](#column_def "column_def")
## cursor: ##
![](diagram/cursor.png)
````sql
` `
<div>
[cursor](#cursor "cursor") ::= [NAME](#NAME "NAME")
referenced by:
- [close\_statement](#close_statement "close_statement")
- [cursor\_def](#cursor_def "cursor_def")
- [delete\_statement\_positioned](#delete_statement_positioned "delete_statement_positioned")
- [fetch\_statement](#fetch_statement "fetch_statement")
- [open\_statement](#open_statement "open_statement")
- [update\_statement\_positioned](#update_statement_positioned "update_statement_positioned")
## parameter: ##
![](diagram/parameter.png)
````sql
` `
<div>
[parameter](#parameter "parameter")
::= PARAMETER