direct_SQL_statement: directly_executable_statement ;
direct_SQL_statement
         ::= directly_executable_statement ';'
no referencesdirectly_executable_statement: direct_SQL_data_statement SQL_schema_statement SQL_transaction_statement SQL_connection_statement SQL_session_statement !! See the Syntax Rules.
directly_executable_statement
         ::= direct_SQL_data_statement
           | SQL_schema_statement
           | SQL_transaction_statement
           | SQL_connection_statement
           | SQL_session_statement
           | '!! See the Syntax Rules.'
referenced by: direct_SQL_statement direct_SQL_data_statement: delete_statement__searched direct_select_statement__multiple_rows insert_statement update_statement__searched truncate_table_statement merge_statement temporary_table_declaration
         ::= delete_statement__searched
           | insert_statement
           | update_statement__searched
           | truncate_table_statement
           | merge_statement
           | temporary_table_declaration
referenced by: directly_executable_statement SQL_terminal_character: SQL_language_character
         ::= SQL_language_character
no referencesSQL_language_character: simple_Latin_letter digit SQL_special_character
         ::= simple_Latin_letter
           | digit
           | SQL_special_character
referenced by: SQL_terminal_character simple_Latin_letter: simple_Latin_upper_case_letter simple_Latin_lower_case_letter
         ::= simple_Latin_upper_case_letter
           | simple_Latin_lower_case_letter
referenced by: SQL_language_character SQL_language_identifier_part SQL_language_identifier_start simple_Latin_upper_case_letter: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
         ::= 'A'
           | 'B'
           | 'C'
           | 'D'
           | 'E'
           | 'F'
           | 'G'
           | 'H'
           | 'I'
           | 'J'
           | 'K'
           | 'L'
           | 'M'
           | 'N'
           | 'O'
           | 'P'
           | 'Q'
           | 'R'
           | 'S'
           | 'T'
           | 'U'
           | 'V'
           | 'W'
           | 'X'
           | 'Y'
           | 'Z'
referenced by: SQLSTATE_char simple_Latin_letter simple_Latin_lower_case_letter: a b c d e f g h i j k l m n o p q r s t u v w x y z
         ::= 'a'
           | 'b'
           | 'c'
           | 'd'
           | 'e'
           | 'f'
           | 'g'
           | 'h'
           | 'i'
           | 'j'
           | 'k'
           | 'l'
           | 'm'
           | 'n'
           | 'o'
           | 'p'
           | 'q'
           | 'r'
           | 's'
           | 't'
           | 'u'
           | 'v'
           | 'w'
           | 'x'
           | 'y'
           | 'z'
referenced by: simple_Latin_letter digit: 0 1 2 3 4 5 6 7 8 9
digit    ::= '0'
           | '1'
           | '2'
           | '3'
           | '4'
           | '5'
           | '6'
           | '7'
           | '8'
           | '9'
referenced by: SQLSTATE_char SQL_language_character SQL_language_identifier_part hexit large_object_length_token unsigned_integer SQL_special_character: !! See the Syntax Rules. " % & ' ( ) * + , - . / : ; < = > ? [ ] ^ _ | { } $
         ::= '!! See the Syntax Rules.'
           | '"'
           | '%'
           | '&'
           | "'"
           | '('
           | ')'
           | '*'
           | '+'
           | ','
           | '-'
           | '.'
           | '/'
           | ':'
           | ';'
           | '<'
           | '='
           | '>'
           | '?'
           | '['
           | ']'
           | '^'
           | '_'
           | '|'
           | '{'
           | '}'
           | '$'
referenced by: SQL_language_character delimiter_token left_bracket_or_trigraph: [ ??(
         ::= '['
           | '??('
referenced by: array_element_reference array_type array_value_constructor_by_enumeration empty_specification multiset_value_constructor_by_enumeration target_array_element_specification update_target right_bracket_or_trigraph: ] ??)
         ::= ']'
           | '??)'
referenced by: array_element_reference array_type array_value_constructor_by_enumeration empty_specification multiset_value_constructor_by_enumeration target_array_element_specification update_target token: nondelimiter_token delimiter_token
           | delimiter_token
no referencesnondelimiter_token: regular_identifier key_word unsigned_numeric_literal national_character_string_literal binary_string_literal large_object_length_token Unicode_delimited_identifier Unicode_character_string_literal SQL_language_identifier
         ::= regular_identifier
           | key_word
           | unsigned_numeric_literal
           | national_character_string_literal
           | binary_string_literal
           | large_object_length_token
           | Unicode_delimited_identifier
           | Unicode_character_string_literal
           | SQL_language_identifier
referenced by: token regular_identifier: identifier_body
         ::= identifier_body
referenced by: actual_identifier nondelimiter_token identifier_body: identifier_start identifier_part
         ::= identifier_start identifier_part*
referenced by: regular_identifier identifier_part: identifier_start identifier_extend
         ::= identifier_start
           | identifier_extend
referenced by: identifier_body large_object_length_token: digit multiplier
         ::= digit+ multiplier
referenced by: large_object_length nondelimiter_token multiplier: K M G T P
         ::= 'K'
           | 'M'
           | 'G'
           | 'T'
           | 'P'
referenced by: large_object_length large_object_length_token delimited_identifier: " delimited_identifier_body "
         ::= '"' delimited_identifier_body '"'
referenced by: actual_identifier delimiter_token delimited_identifier_body: delimited_identifier_part
         ::= delimited_identifier_part+
referenced by: delimited_identifier delimited_identifier_part: !! See the Syntax Rules. ""
         ::= '!! See the Syntax Rules.'
           | '""'
referenced by: Unicode_identifier_part delimited_identifier_body Unicode_delimited_identifier: U & " Unicode_delimiter_body " Unicode_escape_specifier
         ::= U '&' '"' Unicode_delimiter_body '"' Unicode_escape_specifier
referenced by: actual_identifier nondelimiter_token Unicode_escape_specifier: UESCAPE ' !! See the Syntax Rules. '
         ::= ( 'UESCAPE' "'" '!! See the Syntax Rules.' "'" )?
referenced by: Unicode_character_string_literal Unicode_delimited_identifier Unicode_delimiter_body: Unicode_identifier_part
         ::= Unicode_identifier_part+
referenced by: Unicode_delimited_identifier Unicode_identifier_part: delimited_identifier_part Unicode_escape_value
         ::= delimited_identifier_part
           | Unicode_escape_value
referenced by: Unicode_delimiter_body Unicode_escape_value: Unicode_4_digit_escape_value Unicode_6_digit_escape_value Unicode_character_escape_value
         ::= Unicode_4_digit_escape_value
           | Unicode_6_digit_escape_value
           | Unicode_character_escape_value
referenced by: Unicode_identifier_part Unicode_representation Unicode_4_digit_escape_value: !! See the Syntax Rules. hexit hexit hexit hexit
         ::= '!! See the Syntax Rules.' hexit hexit hexit hexit
referenced by: Unicode_escape_value Unicode_6_digit_escape_value: !! See the Syntax Rules. + hexit hexit hexit hexit hexit hexit
         ::= '!! See the Syntax Rules.' '+' hexit hexit hexit hexit hexit hexit
referenced by: Unicode_escape_value Unicode_character_escape_value: !! See the Syntax Rules. !! See the Syntax Rules.
         ::= '!! See the Syntax Rules.' '!! See the Syntax Rules.'
referenced by: Unicode_escape_value delimiter_token: character_string_literal date_string time_string timestamp_string interval_string delimited_identifier SQL_special_character <> >= <= || -> ??( ??) :: .. => {- -}
         ::= character_string_literal
           | date_string
           | time_string
           | timestamp_string
           | interval_string
           | delimited_identifier
           | SQL_special_character
           | '<>'
           | '>='
           | '<='
           | '||'
           | '->'
           | '??('
           | '??)'
           | '::'
           | '..'
           | '=>'
           | '{-'
           | '-}'
referenced by: token separator: comment white_space
         ::= ( comment | white_space )+
referenced by: Unicode_character_string_literal binary_string_literal bracketed_comment_contents character_string_literal national_character_string_literal comment: simple_comment bracketed_comment
           | bracketed_comment
referenced by: separator simple_comment: simple_comment_introducer comment_character newline referenced by: comment simple_comment_introducer: - -
         ::= '-' '-'
referenced by: simple_comment bracketed_comment: bracketed_comment_introducer bracketed_comment_contents bracketed_comment_terminator referenced by: comment bracketed_comment_introducer:
         ::=
referenced by: bracketed_comment bracketed_comment_contents: comment_character separator !! See the Syntax Rules.
         ::= ( comment_character | separator )+ '!! See the Syntax Rules.'
referenced by: bracketed_comment comment_character: nonquote_character '
         ::= nonquote_character
           | "'"
referenced by: bracketed_comment_contents simple_comment key_word: reserved_word non_reserved_word
           | non_reserved_word
referenced by: nondelimiter_token non_reserved_word: A* ABSOLUTE* ACTION* ADA* ADD* ADMIN* AFTER* ALWAYS* ASC* ASSERTION* ASSIGNMENT* ATTRIBUTE* ATTRIBUTES* BEFORE* BERNOULLI* BREADTH* C* CASCADE* CATALOG* CATALOG_NAME* CHAIN* CHAINING* CHARACTER_SET_CATALOG* CHARACTER_SET_NAME* CHARACTER_SET_SCHEMA* CHARACTERISTICS* CHARACTERS* CLASS_ORIGIN* COBOL* COLLATION* COLLATION_CATALOG* COLLATION_NAME* COLLATION_SCHEMA* COLUMNS* COLUMN_NAME* COMMAND_FUNCTION* COMMAND_FUNCTION_CODE* COMMITTED* CONDITIONAL* CONDITION_NUMBER* CONNECTION* CONNECTION_NAME* CONSTRAINT_CATALOG* CONSTRAINT_NAME* CONSTRAINT_SCHEMA* CONSTRAINTS* CONSTRUCTOR* CONTINUE* CURSOR_NAME* DATA* DATETIME_INTERVAL_CODE* DATETIME_INTERVAL_PRECISION* DEFAULTS* DEFERRABLE* DEFERRED* DEFINED* DEFINER* DEGREE* DEPTH* DERIVED* DESC* DESCRIBE_CATALOG* DESCRIBE_NAME* DESCRIBE_PROCEDURE_SPECIFIC_CATALOG* DESCRIBE_PROCEDURE_SPECIFIC_NAME* DESCRIBE_PROCEDURE_SPECIFIC_SCHEMA* DESCRIBE_SCHEMA* DESCRIPTOR* DIAGNOSTICS* DISPATCH* DOMAIN* DYNAMIC_FUNCTION* DYNAMIC_FUNCTION_CODE* ENCODING* ENFORCED* ERROR* EXCLUDE* EXCLUDING* EXPRESSION* FINAL* FINISH* FINISH_CATALOG* FINISH_NAME* FINISH_PROCEDURE_SPECIFIC_CATALOG* FINISH_PROCEDURE_SPECIFIC_NAME* FINISH_PROCEDURE_SPECIFIC_SCHEMA* FINISH_SCHEMA* FIRST* FLAG* FOLLOWING* FORMAT* FORTRAN* FOUND* FULFILL* FULFILL_CATALOG* FULFILL_NAME* FULFILL_PROCEDURE_SPECIFIC_CATALOG* FULFILL_PROCEDURE_SPECIFIC_NAME* FULFILL_PROCEDURE_SPECIFIC_SCHEMA* FULFILL_SCHEMA* G* GENERAL* GENERATED* GO* GOTO* GRANTED* HAS_PASS_THROUGH_COLUMNS* HAS_PASS_THRU_COLS* HIERARCHY* IGNORE* IMMEDIATE* IMMEDIATELY* IMPLEMENTATION* INCLUDING* INCREMENT* INITIALLY* INPUT* INSTANCE* INSTANTIABLE* INSTEAD* INVOKER* ISOLATION* IS_PRUNABLE* JSON* K* KEEP* KEY* KEYS* KEY_MEMBER* KEY_TYPE* LAST* LENGTH* LEVEL* LOCATOR* M* MAP* MATCHED* MAXVALUE* MESSAGE_LENGTH* MESSAGE_OCTET_LENGTH* MESSAGE_TEXT* MINVALUE* MORE* MUMPS* NAME* NAMES* NESTED* NESTING* NEXT* NFC* NFD* NFKC* NFKD* NORMALIZED* NULLABLE* NULLS* NUMBER* OBJECT* OCTETS* OPTION* OPTIONS* ORDERING* ORDINALITY* OTHERS* OUTPUT* OVERFLOW* OVERRIDING* P* PAD* PARAMETER_MODE* PARAMETER_NAME* PARAMETER_ORDINAL_POSITION* PARAMETER_SPECIFIC_CATALOG* PARAMETER_SPECIFIC_NAME* PARAMETER_SPECIFIC_SCHEMA* PARTIAL* PASCAL* PASS* PASSING* PAST* PATH* PLACING* PLAN* PLI* PRECEDING* PRESERVE* PRIOR* PRIVATE* PRIVATE_PARAMETERS* PRIVATE_PARAMS_S* PRIVILEGES* PRUNE* PUBLIC* QUOTES* READ* RELATIVE* REPEATABLE* RESPECT* RESTART* RESTRICT* RETURNED_CARDINALITY* RETURNED_LENGTH* RETURNED_OCTET_LENGTH* RETURNED_SQLSTATE* RETURNING* RETURNS_ONLY_PASS_THROUGH* RET_ONLY_PASS_THRU* ROLE* ROUTINE* ROUTINE_CATALOG* ROUTINE_NAME* ROUTINE_SCHEMA* ROW_COUNT* SCALAR* SCALE* SCHEMA* SCHEMA_NAME* SCOPE_CATALOG* SCOPE_NAME* SCOPE_SCHEMA* SECTION* SECURITY* SELF* SEQUENCE* SERIALIZABLE* SERVER_NAME* SESSION* SETS* SIMPLE* SIZE* SOURCE* SPACE* SPECIFIC_NAME* START_CATALOG* START_NAME* START_PROCEDURE_SPECIFIC_CATALOG* START_PROCEDURE_SPECIFIC_NAME* START_PROCEDURE_SPECIFIC_SCHEMA* START_SCHEMA* STATE* STATEMENT* STRING* STRUCTURE* STYLE* SUBCLASS_ORIGIN* T* TABLE_NAME* TABLE_SEMANTICS* TEMPORARY* THROUGH* TIES* TOP_LEVEL_COUNT* TRANSACTION* TRANSACTION_ACTIVE* TRANSACTIONS_COMMITTED* TRANSACTIONS_ROLLED_BACK* TRANSFORM* TRANSFORMS* TRIGGER_CATALOG* TRIGGER_NAME* TRIGGER_SCHEMA* TYPE* UNBOUNDED* UNCOMMITTED* UNCONDITIONAL* UNDER* UNNAMED* USAGE* USER_DEFINED_TYPE_CATALOG* USER_DEFINED_TYPE_CODE* USER_DEFINED_TYPE_NAME* USER_DEFINED_TYPE_SCHEMA* UTF16* UTF32* UTF8* VIEW* WORK* WRAPPER* WRITE* ZONE*
         ::= 'A*'
           | 'ABSOLUTE*'
           | 'ACTION*'
           | 'ADA*'
           | 'ADD*'
           | 'ADMIN*'
           | 'AFTER*'
           | 'ALWAYS*'
           | 'ASC*'
           | 'ASSERTION*'
           | 'ASSIGNMENT*'
           | 'ATTRIBUTE*'
           | 'ATTRIBUTES*'
           | 'BEFORE*'
           | 'BERNOULLI*'
           | 'BREADTH*'
           | 'C*'
           | 'CASCADE*'
           | 'CATALOG*'
           | 'CATALOG_NAME*'
           | 'CHAIN*'
           | 'CHAINING*'
           | 'CHARACTER_SET_CATALOG*'
           | 'CHARACTER_SET_NAME*'
           | 'CHARACTER_SET_SCHEMA*'
           | 'CHARACTERISTICS*'
           | 'CHARACTERS*'
           | 'CLASS_ORIGIN*'
           | 'COBOL*'
           | 'COLLATION*'
           | 'COLLATION_CATALOG*'
           | 'COLLATION_NAME*'
           | 'COLLATION_SCHEMA*'
           | 'COLUMNS*'
           | 'COLUMN_NAME*'
           | 'COMMAND_FUNCTION*'
           | 'COMMAND_FUNCTION_CODE*'
           | 'COMMITTED*'
           | 'CONDITIONAL*'
           | 'CONDITION_NUMBER*'
           | 'CONNECTION*'
           | 'CONNECTION_NAME*'
           | 'CONSTRAINT_CATALOG*'
           | 'CONSTRAINT_NAME*'
           | 'CONSTRAINT_SCHEMA*'
           | 'CONSTRAINTS*'
           | 'CONSTRUCTOR*'
           | 'CONTINUE*'
           | 'CURSOR_NAME*'
           | 'DATA*'
           | 'DATETIME_INTERVAL_CODE*'
           | 'DATETIME_INTERVAL_PRECISION*'
           | 'DEFAULTS*'
           | 'DEFERRABLE*'
           | 'DEFERRED*'
           | 'DEFINED*'
           | 'DEFINER*'
           | 'DEGREE*'
           | 'DEPTH*'
           | 'DERIVED*'
           | 'DESC*'
           | 'DESCRIBE_CATALOG*'
           | 'DESCRIBE_NAME*'
           | 'DESCRIBE_PROCEDURE_SPECIFIC_CATALOG*'
           | 'DESCRIBE_PROCEDURE_SPECIFIC_NAME*'
           | 'DESCRIBE_PROCEDURE_SPECIFIC_SCHEMA*'
           | 'DESCRIBE_SCHEMA*'
           | 'DESCRIPTOR*'
           | 'DIAGNOSTICS*'
           | 'DISPATCH*'
           | 'DOMAIN*'
           | 'DYNAMIC_FUNCTION*'
           | 'DYNAMIC_FUNCTION_CODE*'
           | 'ENCODING*'
           | 'ENFORCED*'
           | 'ERROR*'
           | 'EXCLUDE*'
           | 'EXCLUDING*'
           | 'EXPRESSION*'
           | 'FINAL*'
           | 'FINISH*'
           | 'FINISH_CATALOG*'
           | 'FINISH_NAME*'
           | 'FINISH_PROCEDURE_SPECIFIC_CATALOG*'
           | 'FINISH_PROCEDURE_SPECIFIC_NAME*'
           | 'FINISH_PROCEDURE_SPECIFIC_SCHEMA*'
           | 'FINISH_SCHEMA*'
           | 'FIRST*'
           | 'FLAG*'
           | 'FOLLOWING*'
           | 'FORMAT*'
           | 'FORTRAN*'
           | 'FOUND*'
           | 'FULFILL*'
           | 'FULFILL_CATALOG*'
           | 'FULFILL_NAME*'
           | 'FULFILL_PROCEDURE_SPECIFIC_CATALOG*'
           | 'FULFILL_PROCEDURE_SPECIFIC_NAME*'
           | 'FULFILL_PROCEDURE_SPECIFIC_SCHEMA*'
           | 'FULFILL_SCHEMA*'
           | 'G*'
           | 'GENERAL*'
           | 'GENERATED*'
           | 'GO*'
           | 'GOTO*'
           | 'GRANTED*'
           | 'HAS_PASS_THROUGH_COLUMNS*'
           | 'HAS_PASS_THRU_COLS*'
           | 'HIERARCHY*'
           | 'IGNORE*'
           | 'IMMEDIATE*'
           | 'IMMEDIATELY*'
           | 'IMPLEMENTATION*'
           | 'INCLUDING*'
           | 'INCREMENT*'
           | 'INITIALLY*'
           | 'INPUT*'
           | 'INSTANCE*'
           | 'INSTANTIABLE*'
           | 'INSTEAD*'
           | 'INVOKER*'
           | 'ISOLATION*'
           | 'IS_PRUNABLE*'
           | 'JSON*'
           | 'K*'
           | 'KEEP*'
           | 'KEY*'
           | 'KEYS*'
           | 'KEY_MEMBER*'
           | 'KEY_TYPE*'
           | 'LAST*'
           | 'LENGTH*'
           | 'LEVEL*'
           | 'LOCATOR*'
           | 'M*'
           | 'MAP*'
           | 'MATCHED*'
           | 'MAXVALUE*'
           | 'MESSAGE_LENGTH*'
           | 'MESSAGE_OCTET_LENGTH*'
           | 'MESSAGE_TEXT*'
           | 'MINVALUE*'
           | 'MORE*'
           | 'MUMPS*'
           | 'NAME*'
           | 'NAMES*'
           | 'NESTED*'
           | 'NESTING*'
           | 'NEXT*'
           | 'NFC*'
           | 'NFD*'
           | 'NFKC*'
           | 'NFKD*'
           | 'NORMALIZED*'
           | 'NULLABLE*'
           | 'NULLS*'
           | 'NUMBER*'
           | 'OBJECT*'
           | 'OCTETS*'
           | 'OPTION*'
           | 'OPTIONS*'
           | 'ORDERING*'
           | 'ORDINALITY*'
           | 'OTHERS*'
           | 'OUTPUT*'
           | 'OVERFLOW*'
           | 'OVERRIDING*'
           | 'P*'
           | 'PAD*'
           | 'PARAMETER_MODE*'
           | 'PARAMETER_NAME*'
           | 'PARAMETER_ORDINAL_POSITION*'
           | 'PARAMETER_SPECIFIC_CATALOG*'
           | 'PARAMETER_SPECIFIC_NAME*'
           | 'PARAMETER_SPECIFIC_SCHEMA*'
           | 'PARTIAL*'
           | 'PASCAL*'
           | 'PASS*'
           | 'PASSING*'
           | 'PAST*'
           | 'PATH*'
           | 'PLACING*'
           | 'PLAN*'
           | 'PLI*'
           | 'PRECEDING*'
           | 'PRESERVE*'
           | 'PRIOR*'
           | 'PRIVATE*'
           | 'PRIVATE_PARAMETERS*'
           | 'PRIVATE_PARAMS_S*'
           | 'PRIVILEGES*'
           | 'PRUNE*'
           | 'PUBLIC*'
           | 'QUOTES*'
           | 'READ*'
           | 'RELATIVE*'
           | 'REPEATABLE*'
           | 'RESPECT*'
           | 'RESTART*'
           | 'RESTRICT*'
           | 'RETURNED_CARDINALITY*'
           | 'RETURNED_LENGTH*'
           | 'RETURNED_OCTET_LENGTH*'
           | 'RETURNED_SQLSTATE*'
           | 'RETURNING*'
           | 'RETURNS_ONLY_PASS_THROUGH*'
           | 'RET_ONLY_PASS_THRU*'
           | 'ROLE*'
           | 'ROUTINE*'
           | 'ROUTINE_CATALOG*'
           | 'ROUTINE_NAME*'
           | 'ROUTINE_SCHEMA*'
           | 'ROW_COUNT*'
           | 'SCALAR*'
           | 'SCALE*'
           | 'SCHEMA*'
           | 'SCHEMA_NAME*'
           | 'SCOPE_CATALOG*'
           | 'SCOPE_NAME*'
           | 'SCOPE_SCHEMA*'
           | 'SECTION*'
           | 'SECURITY*'
           | 'SELF*'
           | 'SEQUENCE*'
           | 'SERIALIZABLE*'
           | 'SERVER_NAME*'
           | 'SESSION*'
           | 'SETS*'
           | 'SIMPLE*'
           | 'SIZE*'
           | 'SOURCE*'
           | 'SPACE*'
           | 'SPECIFIC_NAME*'
           | 'START_CATALOG*'
           | 'START_NAME*'
           | 'START_PROCEDURE_SPECIFIC_CATALOG*'
           | 'START_PROCEDURE_SPECIFIC_NAME*'
           | 'START_PROCEDURE_SPECIFIC_SCHEMA*'
           | 'START_SCHEMA*'
           | 'STATE*'
           | 'STATEMENT*'
           | 'STRING*'
           | 'STRUCTURE*'
           | 'STYLE*'
           | 'SUBCLASS_ORIGIN*'
           | 'T*'
           | 'TABLE_NAME*'
           | 'TABLE_SEMANTICS*'
           | 'TEMPORARY*'
           | 'THROUGH*'
           | 'TIES*'
           | 'TOP_LEVEL_COUNT*'
           | 'TRANSACTION*'
           | 'TRANSACTION_ACTIVE*'
           | 'TRANSACTIONS_COMMITTED*'
           | 'TRANSACTIONS_ROLLED_BACK*'
           | 'TRANSFORM*'
           | 'TRANSFORMS*'
           | 'TRIGGER_CATALOG*'
           | 'TRIGGER_NAME*'
           | 'TRIGGER_SCHEMA*'
           | 'TYPE*'
           | 'UNBOUNDED*'
           | 'UNCOMMITTED*'
           | 'UNCONDITIONAL*'
           | 'UNDER*'
           | 'UNNAMED*'
           | 'USAGE*'
           | 'USER_DEFINED_TYPE_CATALOG*'
           | 'USER_DEFINED_TYPE_CODE*'
           | 'USER_DEFINED_TYPE_NAME*'
           | 'USER_DEFINED_TYPE_SCHEMA*'
           | 'UTF16*'
           | 'UTF32*'
           | 'UTF8*'
           | 'VIEW*'
           | 'WORK*'
           | 'WRAPPER*'
           | 'WRITE*'
           | 'ZONE*'
referenced by: key_word reserved_word: ABS ACOS ALL ALLOCATE ALTER AND ANY ARE ARRAY ARRAY_AGG ARRAY_MAX_CARDINALITY AS ASENSITIVE ASIN ASYMMETRIC AT ATAN ATOMIC AUTHORIZATION AVG BEGIN BEGIN_FRAME BEGIN_PARTITION BETWEEN BIGINT BINARY BLOB BOOLEAN BOTH BY CALL CALLED CARDINALITY CASCADED CASE CAST CEIL CEILING CHAR CHAR_LENGTH CHARACTER CHARACTER_LENGTH CHECK CLASSIFIER CLOB CLOSE COALESCE COLLATE COLLECT COLUMN COMMIT CONDITION CONNECT CONSTRAINT CONTAINS CONVERT COPY CORR CORRESPONDING COS COSH COUNT COVAR_POP COVAR_SAMP CREATE CROSS CUBE CUME_DIST CURRENT CURRENT_CATALOG CURRENT_DATE CURRENT_DEFAULT_TRANSFORM_GROUP CURRENT_PATH CURRENT_ROLE CURRENT_ROW CURRENT_SCHEMA CURRENT_TIME CURRENT_TIMESTAMP CURRENT_PATH CURRENT_ROLE CURRENT_TRANSFORM_GROUP_FOR_TYPE CURRENT_USER CURSOR CYCLE DATE DAY DEALLOCATE DEC DECIMAL DECFLOAT DECLARE DEFAULT DEFINE DELETE DENSE_RANK DEREF DESCRIBE DETERMINISTIC DISCONNECT DISTINCT DOUBLE DROP DYNAMIC EACH ELEMENT ELSE EMPTY END END_FRAME END_PARTITION END-EXEC EQUALS ESCAPE EVERY EXCEPT EXEC EXECUTE EXISTS EXP EXTERNAL EXTRACT FALSE FETCH FILTER FIRST_VALUE FLOAT FLOOR FOR FOREIGN FRAME_ROW FREE FROM FULL FUNCTION FUSION GET GLOBAL GRANT GROUP GROUPING GROUPS HAVING HOLD HOUR IDENTITY IN INDICATOR INITIAL INNER INOUT INSENSITIVE INSERT INT INTEGER INTERSECT INTERSECTION INTERVAL INTO IS JOIN JSON_ARRAY JSON_ARRAYAGG JSON_EXISTS JSON_OBJECT JSON_OBJECTAGG JSON_QUERY JSON_TABLE JSON_TABLE_PRIMITIVE JSON_VALUE LAG LANGUAGE LARGE LAST_VALUE LATERAL LEAD LEADING LEFT LIKE LIKE_REGEX LISTAGG LN LOCAL LOCALTIME LOCALTIMESTAMP LOG LOG10 LOWER MATCH MATCH_NUMBER MATCH_RECOGNIZE MATCHES MAX MEMBER MERGE METHOD MIN MINUTE MOD MODIFIES MODULE MONTH MULTISET NATIONAL NATURAL NCHAR NCLOB NEW NO NONE NORMALIZE NOT NTH_VALUE NTILE NULL NULLIF NUMERIC OCTET_LENGTH OCCURRENCES_REGEX OF OFFSET OLD OMIT ON ONE ONLY OPEN OR ORDER OUT OUTER OVER OVERLAPS OVERLAY PARAMETER PARTITION PATTERN PER PERCENT PERCENT_RANK PERCENTILE_CONT PERCENTILE_DISC PERIOD PORTION POSITION POSITION_REGEX POWER PRECEDES PRECISION PREPARE PRIMARY PROCEDURE PTF RANGE RANK READS REAL RECURSIVE REF REFERENCES REFERENCING REGR_AVGX REGR_AVGY REGR_COUNT REGR_INTERCEPT REGR_R2 REGR_SLOPE REGR_SXX REGR_SXY REGR_SYY RELEASE RESULT RETURN RETURNS REVOKE RIGHT ROLLBACK ROLLUP ROW ROW_NUMBER ROWS RUNNING SAVEPOINT SCOPE SCROLL SEARCH SECOND SEEK SELECT SENSITIVE SESSION_USER SET SHOW SIMILAR SIN SINH SKIP SMALLINT SOME SPECIFIC SPECIFICTYPE SQL SQLEXCEPTION SQLSTATE SQLWARNING SQRT START STATIC STDDEV_POP STDDEV_SAMP SUBMULTISET SUBSET SUBSTRING SUBSTRING_REGEX SUCCEEDS SUM SYMMETRIC SYSTEM SYSTEM_TIME SYSTEM_USER TABLE TABLESAMPLE TAN TANH THEN TIME TIMESTAMP TIMEZONE_HOUR TIMEZONE_MINUTE TO TRAILING TRANSLATE TRANSLATE_REGEX TRANSLATION TREAT TRIGGER TRIM TRIM_ARRAY TRUE TRUNCATE UESCAPE UNION UNIQUE UNKNOWN UNNEST UPDATE UPPER USER USING VALUE VALUES VALUE_OF VAR_POP VAR_SAMP VARBINARY VARCHAR VARYING VERSIONING WHEN WHENEVER WHERE WIDTH_BUCKET WINDOW WITH WITHIN WITHOUT YEAR
         ::= 'ABS'
           | 'ACOS'
           | 'ALL'
           | 'ALLOCATE'
           | 'ALTER'
           | 'AND'
           | 'ANY'
           | 'ARE'
           | 'ARRAY'
           | 'ARRAY_AGG'
           | 'ARRAY_MAX_CARDINALITY'
           | 'AS'
           | 'ASENSITIVE'
           | 'ASIN'
           | 'ASYMMETRIC'
           | 'AT'
           | 'ATAN'
           | 'ATOMIC'
           | 'AUTHORIZATION'
           | 'AVG'
           | 'BEGIN'
           | 'BEGIN_FRAME'
           | 'BEGIN_PARTITION'
           | 'BETWEEN'
           | 'BIGINT'
           | 'BINARY'
           | 'BLOB'
           | 'BOOLEAN'
           | 'BOTH'
           | 'BY'
           | 'CALL'
           | 'CALLED'
           | 'CARDINALITY'
           | 'CASCADED'
           | 'CASE'
           | 'CAST'
           | 'CEIL'
           | 'CEILING'
           | 'CHAR'
           | 'CHAR_LENGTH'
           | 'CHARACTER'
           | 'CHARACTER_LENGTH'
           | 'CHECK'
           | 'CLASSIFIER'
           | 'CLOB'
           | 'CLOSE'
           | 'COALESCE'
           | 'COLLATE'
           | 'COLLECT'
           | 'COLUMN'
           | 'COMMIT'
           | 'CONDITION'
           | 'CONNECT'
           | 'CONSTRAINT'
           | 'CONTAINS'
           | 'CONVERT'
           | 'COPY'
           | 'CORR'
           | 'CORRESPONDING'
           | 'COS'
           | 'COSH'
           | 'COUNT'
           | 'COVAR_POP'
           | 'COVAR_SAMP'
           | 'CREATE'
           | 'CROSS'
           | 'CUBE'
           | 'CUME_DIST'
           | 'CURRENT'
           | 'CURRENT_CATALOG'
           | 'CURRENT_DATE'
           | 'CURRENT_DEFAULT_TRANSFORM_GROUP'
           | CURRENT_PATH
           | CURRENT_ROLE
           | 'CURRENT_ROW'
           | 'CURRENT_SCHEMA'
           | 'CURRENT_TIME'
           | 'CURRENT_TIMESTAMP'
           | CURRENT_PATH
           | CURRENT_ROLE
           | 'CURRENT_TRANSFORM_GROUP_FOR_TYPE'
           | 'CURRENT_USER'
           | 'CURSOR'
           | 'CYCLE'
           | 'DATE'
           | 'DAY'
           | 'DEALLOCATE'
           | 'DEC'
           | 'DECIMAL'
           | 'DECFLOAT'
           | 'DECLARE'
           | 'DEFAULT'
           | 'DEFINE'
           | 'DELETE'
           | 'DENSE_RANK'
           | 'DEREF'
           | 'DESCRIBE'
           | 'DETERMINISTIC'
           | 'DISCONNECT'
           | 'DISTINCT'
           | 'DOUBLE'
           | 'DROP'
           | 'DYNAMIC'
           | 'EACH'
           | 'ELEMENT'
           | 'ELSE'
           | 'EMPTY'
           | 'END'
           | 'END_FRAME'
           | 'END_PARTITION'
           | 'END-EXEC'
           | 'EQUALS'
           | 'ESCAPE'
           | 'EVERY'
           | 'EXCEPT'
           | 'EXEC'
           | 'EXECUTE'
           | 'EXISTS'
           | 'EXP'
           | 'EXTERNAL'
           | 'EXTRACT'
           | 'FALSE'
           | 'FETCH'
           | 'FILTER'
           | 'FIRST_VALUE'
           | 'FLOAT'
           | 'FLOOR'
           | 'FOR'
           | 'FOREIGN'
           | 'FRAME_ROW'
           | 'FREE'
           | 'FROM'
           | 'FULL'
           | 'FUNCTION'
           | 'FUSION'
           | 'GET'
           | 'GLOBAL'
           | 'GRANT'
           | 'GROUP'
           | 'GROUPING'
           | 'GROUPS'
           | 'HAVING'
           | 'HOLD'
           | 'HOUR'
           | 'IDENTITY'
           | 'IN'
           | 'INDICATOR'
           | 'INITIAL'
           | 'INNER'
           | 'INOUT'
           | 'INSENSITIVE'
           | 'INSERT'
           | 'INT'
           | 'INTEGER'
           | 'INTERSECT'
           | 'INTERSECTION'
           | 'INTERVAL'
           | 'INTO'
           | 'IS'
           | 'JOIN'
           | 'JSON_ARRAY'
           | 'JSON_ARRAYAGG'
           | 'JSON_EXISTS'
           | 'JSON_OBJECT'
           | 'JSON_OBJECTAGG'
           | 'JSON_QUERY'
           | 'JSON_TABLE'
           | 'JSON_TABLE_PRIMITIVE'
           | 'JSON_VALUE'
           | 'LAG'
           | 'LANGUAGE'
           | 'LARGE'
           | 'LAST_VALUE'
           | 'LATERAL'
           | 'LEAD'
           | 'LEADING'
           | 'LEFT'
           | 'LIKE'
           | 'LIKE_REGEX'
           | 'LISTAGG'
           | 'LN'
           | 'LOCAL'
           | 'LOCALTIME'
           | 'LOCALTIMESTAMP'
           | 'LOG'
           | 'LOG10'
           | 'LOWER'
           | 'MATCH'
           | 'MATCH_NUMBER'
           | 'MATCH_RECOGNIZE'
           | 'MATCHES'
           | 'MAX'
           | 'MEMBER'
           | 'MERGE'
           | 'METHOD'
           | 'MIN'
           | 'MINUTE'
           | 'MOD'
           | 'MODIFIES'
           | 'MODULE'
           | 'MONTH'
           | 'MULTISET'
           | 'NATIONAL'
           | 'NATURAL'
           | 'NCHAR'
           | 'NCLOB'
           | 'NEW'
           | 'NO'
           | 'NONE'
           | 'NORMALIZE'
           | 'NOT'
           | 'NTH_VALUE'
           | 'NTILE'
           | 'NULL'
           | 'NULLIF'
           | 'NUMERIC'
           | 'OCTET_LENGTH'
           | 'OCCURRENCES_REGEX'
           | 'OF'
           | 'OFFSET'
           | 'OLD'
           | 'OMIT'
           | 'ON'
           | 'ONE'
           | 'ONLY'
           | 'OPEN'
           | 'OR'
           | 'ORDER'
           | 'OUT'
           | 'OUTER'
           | 'OVER'
           | 'OVERLAPS'
           | 'OVERLAY'
           | 'PARAMETER'
           | 'PARTITION'
           | 'PATTERN'
           | 'PER'
           | 'PERCENT'
           | 'PERCENT_RANK'
           | 'PERCENTILE_CONT'
           | 'PERCENTILE_DISC'
           | 'PERIOD'
           | 'PORTION'
           | 'POSITION'
           | 'POSITION_REGEX'
           | 'POWER'
           | 'PRECEDES'
           | 'PRECISION'
           | 'PREPARE'
           | 'PRIMARY'
           | 'PROCEDURE'
           | 'PTF'
           | 'RANGE'
           | 'RANK'
           | 'READS'
           | 'REAL'
           | 'RECURSIVE'
           | 'REF'
           | 'REFERENCES'
           | 'REFERENCING'
           | 'REGR_AVGX'
           | 'REGR_AVGY'
           | 'REGR_COUNT'
           | 'REGR_INTERCEPT'
           | 'REGR_R2'
           | 'REGR_SLOPE'
           | 'REGR_SXX'
           | 'REGR_SXY'
           | 'REGR_SYY'
           | 'RELEASE'
           | 'RESULT'
           | 'RETURN'
           | 'RETURNS'
           | 'REVOKE'
           | 'RIGHT'
           | 'ROLLBACK'
           | 'ROLLUP'
           | 'ROW'
           | 'ROW_NUMBER'
           | 'ROWS'
           | 'RUNNING'
           | 'SAVEPOINT'
           | 'SCOPE'
           | 'SCROLL'
           | 'SEARCH'
           | 'SECOND'
           | 'SEEK'
           | 'SELECT'
           | 'SENSITIVE'
           | 'SESSION_USER'
           | 'SET'
           | 'SHOW'
           | 'SIMILAR'
           | 'SIN'
           | 'SINH'
           | 'SKIP'
           | 'SMALLINT'
           | 'SOME'
           | 'SPECIFIC'
           | 'SPECIFICTYPE'
           | 'SQL'
           | 'SQLEXCEPTION'
           | 'SQLSTATE'
           | 'SQLWARNING'
           | 'SQRT'
           | 'START'
           | 'STATIC'
           | 'STDDEV_POP'
           | 'STDDEV_SAMP'
           | 'SUBMULTISET'
           | 'SUBSET'
           | 'SUBSTRING'
           | 'SUBSTRING_REGEX'
           | 'SUCCEEDS'
           | 'SUM'
           | 'SYMMETRIC'
           | 'SYSTEM'
           | 'SYSTEM_TIME'
           | 'SYSTEM_USER'
           | 'TABLE'
           | 'TABLESAMPLE'
           | 'TAN'
           | 'TANH'
           | 'THEN'
           | 'TIME'
           | 'TIMESTAMP'
           | 'TIMEZONE_HOUR'
           | 'TIMEZONE_MINUTE'
           | 'TO'
           | 'TRAILING'
           | 'TRANSLATE'
           | 'TRANSLATE_REGEX'
           | 'TRANSLATION'
           | 'TREAT'
           | 'TRIGGER'
           | 'TRIM'
           | 'TRIM_ARRAY'
           | 'TRUE'
           | 'TRUNCATE'
           | 'UESCAPE'
           | 'UNION'
           | 'UNIQUE'
           | 'UNKNOWN'
           | 'UNNEST'
           | 'UPDATE'
           | 'UPPER'
           | 'USER'
           | 'USING'
           | 'VALUE'
           | 'VALUES'
           | 'VALUE_OF'
           | 'VAR_POP'
           | 'VAR_SAMP'
           | 'VARBINARY'
           | 'VARCHAR'
           | 'VARYING'
           | 'VERSIONING'
           | 'WHEN'
           | 'WHENEVER'
           | 'WHERE'
           | 'WIDTH_BUCKET'
           | 'WINDOW'
           | 'WITH'
           | 'WITHIN'
           | 'WITHOUT'
           | 'YEAR'
referenced by: key_word literal: signed_numeric_literal general_literal
           | general_literal
referenced by: default_option simple_value_specification value_specification unsigned_literal: unsigned_numeric_literal general_literal
         ::= unsigned_numeric_literal
           | general_literal
referenced by: unsigned_value_specification general_literal: character_string_literal national_character_string_literal Unicode_character_string_literal binary_string_literal datetime_literal interval_literal boolean_literal
         ::= character_string_literal
           | national_character_string_literal
           | Unicode_character_string_literal
           | binary_string_literal
           | datetime_literal
           | interval_literal
           | boolean_literal
referenced by: literal unsigned_literal character_string_literal: _ character_set_specification ' character_representation ' separator
         ::= ( '_' character_set_specification )? "'" character_representation* "'" ( separator "'" character_representation* "'" )*
referenced by: JSON_path_specification cast_template delimiter_token external_routine_name general_literal listagg_separator listagg_truncation_filler character_representation: nonquote_character quote_symbol
         ::= nonquote_character
           | quote_symbol
referenced by: Ada_initial_value COBOL_variable_definition C_initial_value PL_I_variable_definition Unicode_representation character_string_literal national_character_string_literal quote_symbol: ' '
         ::= "'" "'"
referenced by: character_representation national_character_string_literal: N ' character_representation ' separator
         ::= 'N' "'" character_representation* "'" ( separator "'" character_representation* "'" )*
referenced by: general_literal nondelimiter_token Unicode_character_string_literal: _ character_set_specification U & ' Unicode_representation ' separator Unicode_escape_specifier referenced by: general_literal nondelimiter_token Unicode_representation: character_representation Unicode_escape_value
         ::= character_representation
           | Unicode_escape_value
referenced by: Unicode_character_string_literal binary_string_literal: X ' !! See the Syntax Rules. hexit !! See the Syntax Rules. hexit ' separator
         ::= 'X' "'" '!! See the Syntax Rules.'* ( hexit '!! See the Syntax Rules.'* hexit '!! See the Syntax Rules.'* )* "'" ( separator "'" '!! See the Syntax Rules.'* ( hexit '!! See the Syntax Rules.'* hexit '!! See the Syntax Rules.'* )* "'" )*
referenced by: general_literal nondelimiter_token hexit: digit A B C D E F a b c d e f
hexit    ::= digit
           | 'A'
           | 'B'
           | 'C'
           | 'D'
           | 'E'
           | 'F'
           | 'a'
           | 'b'
           | 'c'
           | 'd'
           | 'e'
           | 'f'
referenced by: Unicode_4_digit_escape_value Unicode_6_digit_escape_value binary_string_literal signed_numeric_literal: sign unsigned_numeric_literal
         ::= sign? unsigned_numeric_literal
referenced by: literal sequence_generator_increment sequence_generator_max_value sequence_generator_min_value sequence_generator_restart_value sequence_generator_start_value unsigned_numeric_literal: exact_numeric_literal approximate_numeric_literal
         ::= exact_numeric_literal
           | approximate_numeric_literal
referenced by: nondelimiter_token signed_numeric_literal unsigned_literal exact_numeric_literal: unsigned_integer . unsigned_integer . unsigned_integer
         ::= unsigned_integer ( '.' unsigned_integer? )?
           | '.' unsigned_integer
referenced by: mantissa offset unsigned_numeric_literal sign: + -
sign     ::= '+'
           | '-'
referenced by: factor interval_factor interval_literal signed_integer signed_numeric_literal time_zone_interval unquoted_interval_string approximate_numeric_literal: mantissa E exponent
         ::= mantissa 'E' exponent
referenced by: unsigned_numeric_literal mantissa: exact_numeric_literal referenced by: approximate_numeric_literal exponent: signed_integer referenced by: approximate_numeric_literal signed_integer: sign unsigned_integer
         ::= sign? unsigned_integer
referenced by: exponent unsigned_integer: digit
         ::= digit+
referenced by: datetime_value exact_numeric_literal goto_target high_value interval_fractional_seconds_precision interval_leading_field_precision large_object_length length low_value maximum_cardinality maximum_returned_result_sets precision row_pattern_quantifier scale seconds_fraction seconds_integer_value signed_integer time_fractional_seconds_precision datetime_literal: date_literal time_literal timestamp_literal
         ::= date_literal
           | time_literal
           | timestamp_literal
referenced by: general_literal date_literal: DATE date_string
         ::= 'DATE' date_string
referenced by: datetime_literal time_literal: TIME time_string
         ::= 'TIME' time_string
referenced by: datetime_literal timestamp_literal: TIMESTAMP timestamp_string
         ::= 'TIMESTAMP' timestamp_string
referenced by: datetime_literal date_string: ' unquoted_date_string '
         ::= "'" unquoted_date_string "'"
referenced by: date_literal delimiter_token time_string: ' unquoted_time_string '
         ::= "'" unquoted_time_string "'"
referenced by: delimiter_token time_literal timestamp_string: ' unquoted_timestamp_string '
         ::= "'" unquoted_timestamp_string "'"
referenced by: delimiter_token timestamp_literal time_zone_interval: sign hours_value : minutes_value
         ::= sign hours_value ':' minutes_value
referenced by: unquoted_time_string date_value: years_value - months_value - days_value
         ::= years_value '-' months_value '-' days_value
referenced by: unquoted_date_string time_value: hours_value : minutes_value : seconds_value
         ::= hours_value ':' minutes_value ':' seconds_value
referenced by: unquoted_time_string interval_literal: INTERVAL sign interval_string interval_qualifier
         ::= 'INTERVAL' sign? interval_string interval_qualifier
referenced by: general_literal interval_string: ' unquoted_interval_string '
         ::= "'" unquoted_interval_string "'"
referenced by: delimiter_token interval_literal unquoted_date_string: date_value
         ::= date_value
referenced by: date_string unquoted_timestamp_string unquoted_time_string: time_value time_zone_interval
         ::= time_value time_zone_interval?
referenced by: time_string unquoted_timestamp_string unquoted_timestamp_string: unquoted_date_string !! See the Syntax Rules. unquoted_time_string
         ::= unquoted_date_string '!! See the Syntax Rules.' unquoted_time_string
referenced by: timestamp_string unquoted_interval_string: sign year_month_literal day_time_literal
         ::= sign? ( year_month_literal | day_time_literal )
referenced by: interval_string year_month_literal: years_value - months_value months_value
         ::= years_value ( '-' months_value )?
           | months_value
referenced by: unquoted_interval_string day_time_literal: day_time_interval time_interval
         ::= day_time_interval
           | time_interval
referenced by: unquoted_interval_string day_time_interval: days_value !! See the Syntax Rules. hours_value : minutes_value : seconds_value
         ::= days_value ( '!! See the Syntax Rules.' hours_value ( ':' minutes_value ( ':' seconds_value )? )? )?
referenced by: day_time_literal time_interval: hours_value : minutes_value : seconds_value minutes_value : seconds_value seconds_value
         ::= hours_value ( ':' minutes_value ( ':' seconds_value )? )?
           | minutes_value ( ':' seconds_value )?
           | seconds_value
referenced by: day_time_literal years_value: datetime_value
         ::= datetime_value
referenced by: date_value year_month_literal months_value: datetime_value
         ::= datetime_value
referenced by: date_value year_month_literal days_value: datetime_value
         ::= datetime_value
referenced by: date_value day_time_interval hours_value: datetime_value
         ::= datetime_value
referenced by: day_time_interval time_interval time_value time_zone_interval minutes_value: datetime_value
         ::= datetime_value
referenced by: day_time_interval time_interval time_value time_zone_interval seconds_value: seconds_integer_value . seconds_fraction
         ::= seconds_integer_value ( '.' seconds_fraction? )?
referenced by: day_time_interval time_interval time_value seconds_integer_value: unsigned_integer
         ::= unsigned_integer
referenced by: seconds_value seconds_fraction: unsigned_integer
         ::= unsigned_integer
referenced by: seconds_value datetime_value: unsigned_integer
         ::= unsigned_integer
referenced by: days_value hours_value minutes_value months_value years_value boolean_literal: TRUE FALSE UNKNOWN
         ::= 'TRUE'
           | 'FALSE'
           | 'UNKNOWN'
referenced by: general_literal identifier: actual_identifier
         ::= actual_identifier
referenced by: JSON_argument JSON_table_path_name SQL_client_module_name SQL_parameter_name application_time_period_name asterisked_identifier attribute_name cast_to_distinct_identifier cast_to_ref_identifier cast_to_source_identifier cast_to_type_identifier catalog_name column_name correlation_name external_routine_name field_name group_name host_parameter_name identifier_chain measure_name method_name non_extended_descriptor_name procedure_name qualified_identifier query_name regular_character_set_identifier role_name savepoint_name statement_name transition_table_name unqualified_schema_name user_identifier window_name actual_identifier: regular_identifier delimited_identifier Unicode_delimited_identifier
         ::= regular_identifier
           | delimited_identifier
           | Unicode_delimited_identifier
referenced by: identifier SQL_language_identifier: SQL_language_identifier_start SQL_language_identifier_part referenced by: character_set_name nondelimiter_token SQL_language_identifier_start: simple_Latin_letter
         ::= simple_Latin_letter
referenced by: SQL_language_identifier SQL_language_identifier_part: simple_Latin_letter digit _
         ::= simple_Latin_letter
           | digit
           | '_'
referenced by: SQL_language_identifier authorization_identifier: role_name user_identifier
         ::= role_name
           | user_identifier
referenced by: grantee module_authorization_identifier schema_authorization_identifier table_name: local_or_schema_qualified_name
         ::= local_or_schema_qualified_name
referenced by: alter_table_statement drop_table_statement drop_view_statement insertion_target like_clause object_name range_variable referenced_table_and_columns scope_clause subview_clause supertable_name table_definition table_or_query_name target_table temporary_table_declaration trigger_definition view_definition domain_name: schema_qualified_name
         ::= schema_qualified_name
referenced by: alter_domain_statement cast_target data_type_or_domain_name domain_definition drop_domain_statement object_name schema_name: catalog_name . unqualified_schema_name
         ::= ( catalog_name '.' )? unqualified_schema_name
referenced by: character_set_name drop_schema_statement embedded_authorization_clause local_or_schema_qualifier module_authorization_clause routine_name schema_name_clause schema_name_list schema_qualified_name specific_method_name user_defined_type_name unqualified_schema_name: identifier
         ::= identifier
referenced by: schema_name catalog_name: identifier
         ::= identifier
referenced by: schema_name schema_qualified_name: schema_name . qualified_identifier
         ::= ( schema_name '.' )? qualified_identifier
referenced by: collation_name constraint_name domain_name schema_qualified_routine_name sequence_generator_name specific_name transcoding_name transliteration_name trigger_name local_or_schema_qualified_name: local_or_schema_qualifier . qualified_identifier
         ::= ( local_or_schema_qualifier '.' )? qualified_identifier
referenced by: table_name local_or_schema_qualifier: schema_name MODULE
         ::= schema_name
           | 'MODULE'
referenced by: local_or_schema_qualified_name qualified_identifier: identifier
         ::= identifier
referenced by: attribute_or_method_reference column_reference local_or_schema_qualified_name local_qualified_name routine_name schema_qualified_name specific_method_name user_defined_type_name column_name: identifier
         ::= identifier
referenced by: JSON_table_formatted_column_definition JSON_table_ordinality_column_definition JSON_table_primitive_chaining_column JSON_table_regular_column_definition alter_column_definition as_clause column_definition column_name_list column_options column_reference cycle_column cycle_mark_column descriptor_column_specification drop_column_definition object_column path_column period_begin_column_name period_end_column_name self_referencing_column_name sequence_column table_function_column_list_element view_column_option correlation_name: identifier
         ::= identifier
referenced by: correlation_or_recognition delete_statement__positioned delete_statement__searched join_correlation_name merge_correlation_name new_transition_variable_name old_transition_variable_name range_variable row_pattern_input_name row_pattern_output_name row_pattern_variable_name table_argument_correlation_name table_primary update_statement__positioned update_statement__searched query_name: identifier
         ::= identifier
referenced by: range_variable table_or_query_name with_list_element SQL_client_module_name: identifier
         ::= identifier
referenced by: module_name_clause procedure_name: identifier
         ::= identifier
referenced by: externally_invoked_procedure schema_qualified_routine_name: schema_qualified_name
         ::= schema_qualified_name
referenced by: SQL_invoked_procedure function_specification member_name_alternatives method_name: identifier
         ::= identifier
referenced by: direct_invocation generalized_invocation member_name_alternatives method_reference method_specification_designator mutated_set_clause partial_method_specification specific_method_specification_designator static_method_invocation specific_name: schema_qualified_name
         ::= schema_qualified_name
referenced by: routine_characteristic specific_routine_designator state_category cursor_name: local_qualified_name
         ::= local_qualified_name
referenced by: allocate_received_cursor_statement close_statement conventional_dynamic_cursor_name declare_cursor delete_statement__positioned described_object dynamic_declare_cursor fetch_statement open_statement preparable_dynamic_cursor_name update_statement__positioned local_qualified_name: MODULE . qualified_identifier
         ::= ( 'MODULE' '.' )? qualified_identifier
referenced by: cursor_name host_parameter_name: : identifier
         ::= ':' identifier
referenced by: host_parameter_declaration host_parameter_specification indicator_parameter locator_reference simple_target_specification simple_value_specification SQL_parameter_name: identifier
         ::= identifier
referenced by: SQL_parameter_declaration named_argument_specification constraint_name: schema_qualified_name
         ::= schema_qualified_name
referenced by: SQL_condition alter_table_constraint_definition assertion_definition constraint_name_definition constraint_name_list drop_assertion_statement drop_domain_constraint_definition drop_table_constraint_definition external_routine_name: identifier character_string_literal
         ::= identifier
           | character_string_literal
referenced by: alter_routine_characteristic external_body_reference trigger_name: schema_qualified_name
         ::= schema_qualified_name
referenced by: drop_trigger_statement trigger_definition collation_name: schema_qualified_name
         ::= schema_qualified_name
referenced by: collate_clause collation_definition drop_collation_statement existing_collation_name module_collation_specification object_name character_set_name: schema_name . SQL_language_identifier
         ::= ( schema_name '.' )? SQL_language_identifier
referenced by: character_set_definition drop_character_set_statement implementation_defined_character_set_name object_name standard_character_set_name user_defined_character_set_name transliteration_name: schema_qualified_name
         ::= schema_qualified_name
referenced by: character_transliteration drop_transliteration_statement existing_transliteration_name object_name transliteration_definition transcoding_name: schema_qualified_name
         ::= schema_qualified_name
referenced by: transcoding schema_resolved_user_defined_type_name: user_defined_type_name
         ::= user_defined_type_name
referenced by: alter_transform_statement alter_type_statement drop_data_type_statement drop_transform_statement drop_user_defined_ordering_statement method_specification_designator object_name specific_routine_designator transform_definition user_defined_ordering_definition user_defined_type_body user_defined_type_name: schema_name . qualified_identifier
         ::= ( schema_name '.' )? qualified_identifier
referenced by: path_resolved_user_defined_type_name schema_resolved_user_defined_type_name attribute_name: identifier
         ::= identifier
referenced by: attribute_definition dereference_operation drop_attribute_definition list_of_attributes field_name: identifier
         ::= identifier
referenced by: field_definition field_reference savepoint_name: identifier
         ::= identifier
referenced by: savepoint_specifier sequence_generator_name: schema_qualified_name
         ::= schema_qualified_name
referenced by: alter_sequence_generator_statement drop_sequence_generator_statement next_value_expression object_name sequence_generator_definition role_name: identifier
         ::= identifier
referenced by: authorization_identifier drop_role_statement role_definition role_granted role_revoked user_identifier: identifier
         ::= identifier
referenced by: authorization_identifier connection_name: simple_value_specification
         ::= simple_value_specification
referenced by: connection_object connection_target SQL_server_name: simple_value_specification
         ::= simple_value_specification
referenced by: connection_target connection_user_name: simple_value_specification
         ::= simple_value_specification
referenced by: connection_target SQL_statement_name: statement_name extended_statement_name
         ::= statement_name
           | extended_statement_name
referenced by: deallocate_prepared_statement describe_input_statement described_object execute_statement prepare_statement statement_name: identifier
         ::= identifier
referenced by: SQL_statement_name dynamic_declare_cursor extended_statement_name: scope_option simple_value_specification referenced by: SQL_statement_name allocate_extended_dynamic_cursor_statement dynamic_cursor_name: conventional_dynamic_cursor_name PTF_cursor_name
         ::= conventional_dynamic_cursor_name
           | PTF_cursor_name
referenced by: dynamic_fetch_statement conventional_dynamic_cursor_name: cursor_name extended_cursor_name
         ::= cursor_name
           | extended_cursor_name
referenced by: dynamic_close_statement dynamic_cursor_name dynamic_delete_statement__positioned dynamic_open_statement dynamic_update_statement__positioned extended_cursor_name: scope_option simple_value_specification referenced by: allocate_extended_dynamic_cursor_statement conventional_dynamic_cursor_name PTF_cursor_name: PTF simple_value_specification
         ::= 'PTF' simple_value_specification
referenced by: dynamic_cursor_name descriptor_name: conventional_descriptor_name PTF_descriptor_name
         ::= conventional_descriptor_name
           | PTF_descriptor_name
referenced by: get_descriptor_statement into_descriptor set_descriptor_statement source_descriptor_name using_descriptor conventional_descriptor_name: non_extended_descriptor_name extended_descriptor_name
         ::= non_extended_descriptor_name
           | extended_descriptor_name
referenced by: allocate_descriptor_statement deallocate_descriptor_statement descriptor_name non_extended_descriptor_name: identifier
         ::= identifier
referenced by: conventional_descriptor_name extended_descriptor_name: scope_option simple_value_specification referenced by: conventional_descriptor_name scope_option: GLOBAL LOCAL
         ::= 'GLOBAL'
           | 'LOCAL'
referenced by: extended_cursor_name extended_descriptor_name extended_statement_name preparable_dynamic_cursor_name PTF_descriptor_name: PTF simple_value_specification
         ::= 'PTF' simple_value_specification
referenced by: descriptor_name pipe_row_statement target_descriptor_name window_name: identifier
         ::= identifier
referenced by: existing_window_name new_window_name window_name_or_specification row_pattern_variable_name: correlation_name
         ::= correlation_name
referenced by: classifier_function row_pattern_count_function row_pattern_definition_variable_name row_pattern_primary_variable_name row_pattern_skip_to_variable_name row_pattern_subset_item_variable_name row_pattern_subset_rhs_variable_name measure_name: identifier
         ::= identifier
referenced by: row_pattern_measure_definition window_row_pattern_measure data_type: predefined_type row_type path_resolved_user_defined_type_name reference_type collection_type
         ::= predefined_type
           | row_type
           | path_resolved_user_defined_type_name
           | reference_type
           | collection_type
referenced by: JSON_output_clause JSON_returning_clause JSON_table_formatted_column_definition JSON_table_regular_column_definition alter_column_data_type_clause array_type attribute_definition cast_target data_type_list data_type_or_domain_name descriptor_column_specification field_definition generalized_invocation host_parameter_data_type multiset_type parameter_type result_cast_from_type returns_data_type sequence_generator_data_type_option source_data_type table_function_column_list_element target_data_type predefined_type: character_string_type CHARACTER SET character_set_specification national_character_string_type collate_clause binary_string_type numeric_type BOOLEAN datetime_type interval_type
           | binary_string_type
           | numeric_type
           | 'BOOLEAN'
           | datetime_type
           | interval_type
referenced by: Ada_user_defined_type_variable COBOL_user_defined_type_variable C_user_defined_type_variable Fortran_user_defined_type_variable MUMPS_user_defined_type_variable PL_I_user_defined_type_variable Pascal_user_defined_type_variable data_type domain_definition representation user_defined_representation character_string_type: CHARACTER CHAR VARYING ( character_length ) VARCHAR ( character_length ) character_large_object_type
         ::= ( 'CHARACTER' | 'CHAR' ) ( 'VARYING'? '(' character_length ')' )?
           | 'VARCHAR' '(' character_length ')'
           | character_large_object_type
referenced by: predefined_type character_large_object_type: CHARACTER CHAR LARGE OBJECT* CLOB ( character_large_object_length )
         ::= ( ( 'CHARACTER' | 'CHAR' ) 'LARGE' 'OBJECT*' | 'CLOB' ) ( '(' character_large_object_length ')' )?
referenced by: character_string_type national_character_string_type: NATIONAL CHARACTER CHAR NCHAR VARYING ( character_length ) national_character_large_object_type
         ::= ( 'NATIONAL' ( 'CHARACTER' | 'CHAR' ) | 'NCHAR' ) ( 'VARYING'? '(' character_length ')' )?
           | national_character_large_object_type
referenced by: predefined_type national_character_large_object_type: NATIONAL CHARACTER NCHAR LARGE OBJECT* NCLOB ( character_large_object_length )
         ::= ( ( 'NATIONAL' 'CHARACTER' | 'NCHAR' ) 'LARGE' 'OBJECT*' | 'NCLOB' ) ( '(' character_large_object_length ')' )?
referenced by: national_character_string_type binary_string_type: BINARY VARYING ( length ) VARBINARY ( length ) binary_large_object_string_type
         ::= 'BINARY' ( 'VARYING'? '(' length ')' )?
           | 'VARBINARY' '(' length ')'
           | binary_large_object_string_type
referenced by: predefined_type binary_large_object_string_type: BINARY LARGE OBJECT* BLOB ( large_object_length )
         ::= ( 'BINARY' 'LARGE' 'OBJECT*' | 'BLOB' ) ( '(' large_object_length ')' )?
referenced by: binary_string_type numeric_type: exact_numeric_type approximate_numeric_type decimal_floating_point_type
         ::= exact_numeric_type
           | approximate_numeric_type
           | decimal_floating_point_type
referenced by: predefined_type exact_numeric_type: NUMERIC DECIMAL DEC ( precision , scale ) SMALLINT INTEGER INT BIGINT
         ::= ( 'NUMERIC' | 'DECIMAL' | 'DEC' ) ( '(' precision ( ',' scale )? ')' )?
           | 'SMALLINT'
           | 'INTEGER'
           | 'INT'
           | 'BIGINT'
referenced by: numeric_type approximate_numeric_type: FLOAT ( precision ) REAL DOUBLE PRECISION
         ::= 'FLOAT' ( '(' precision ')' )?
           | 'REAL'
           | 'DOUBLE' 'PRECISION'
referenced by: numeric_type decimal_floating_point_type: DECFLOAT ( precision )
         ::= 'DECFLOAT' ( '(' precision ')' )?
referenced by: numeric_type length: unsigned_integer referenced by: Ada_BINARY_variable Ada_VARBINARY_variable COBOL_BINARY_variable COBOL_nines C_BINARY_variable C_VARBINARY_variable Fortran_BINARY_variable Fortran_VARBINARY_variable PL_I_BINARY_variable PL_I_VARBINARY_variable Pascal_BINARY_variable binary_string_type character_length character_length: length char_length_units
         ::= length char_length_units?
referenced by: Ada_qualified_type_specification Ada_unqualified_type_specification COBOL_character_type COBOL_national_character_type C_array_specification Fortran_type_specification MUMPS_length_specification PL_I_type_specification Pascal_type_specification character_string_type national_character_string_type normalize_function_result_length large_object_length: unsigned_integer multiplier large_object_length_token
         ::= unsigned_integer multiplier?
           | large_object_length_token
referenced by: Ada_BLOB_variable COBOL_BLOB_variable C_BLOB_variable Fortran_BLOB_variable PL_I_BLOB_variable Pascal_BLOB_variable binary_large_object_string_type character_large_object_length character_large_object_length: large_object_length char_length_units
         ::= large_object_length char_length_units?
referenced by: Ada_CLOB_variable COBOL_CLOB_variable COBOL_NCLOB_variable C_CLOB_variable C_NCLOB_variable Fortran_CLOB_variable PL_I_CLOB_variable Pascal_CLOB_variable character_large_object_type national_character_large_object_type normalize_function_result_length char_length_units: CHARACTERS* OCTETS*
         ::= 'CHARACTERS*'
           | 'OCTETS*'
referenced by: char_length_expression character_large_object_length character_length character_overlay_function character_position_expression character_substring_function regex_occurrences_function regex_position_expression regex_substring_function regex_transliteration precision: unsigned_integer
         ::= unsigned_integer
referenced by: MUMPS_type_specification PL_I_type_specification approximate_numeric_type decimal_floating_point_type exact_numeric_type scale: unsigned_integer referenced by: MUMPS_type_specification PL_I_type_specification exact_numeric_type datetime_type: DATE TIME ( time_precision ) TIMESTAMP ( timestamp_precision ) with_or_without_time_zone
         ::= 'DATE'
           | ( 'TIME' ( '(' time_precision ')' )? | 'TIMESTAMP' ( '(' timestamp_precision ')' )? ) with_or_without_time_zone?
referenced by: predefined_type with_or_without_time_zone: WITH WITHOUT TIME ZONE*
         ::= ( 'WITH' | 'WITHOUT' ) 'TIME' 'ZONE*'
referenced by: datetime_type time_precision: time_fractional_seconds_precision
         ::= time_fractional_seconds_precision
referenced by: current_local_time_value_function current_time_value_function datetime_type timestamp_precision: time_fractional_seconds_precision
         ::= time_fractional_seconds_precision
referenced by: current_local_timestamp_value_function current_timestamp_value_function datetime_type time_fractional_seconds_precision: unsigned_integer
         ::= unsigned_integer
referenced by: time_precision timestamp_precision interval_type: INTERVAL interval_qualifier
         ::= 'INTERVAL' interval_qualifier
referenced by: predefined_type row_type: ROW row_type_body referenced by: data_type row_type_body: ( field_definition , )
         ::= '(' field_definition ( ',' field_definition )* ')'
referenced by: row_type reference_type: REF ( referenced_type ) scope_clause
         ::= 'REF' '(' referenced_type ')' scope_clause?
referenced by: Ada_REF_variable COBOL_REF_variable C_REF_variable Fortran_REF_variable MUMPS_REF_variable PL_I_REF_variable Pascal_REF_variable data_type target_subtype scope_clause: SCOPE table_name
         ::= 'SCOPE' table_name
referenced by: add_column_scope_clause column_option_list reference_type view_column_option referenced_type: path_resolved_user_defined_type_name referenced by: reference_type path_resolved_user_defined_type_name: user_defined_type_name
         ::= user_defined_type_name
referenced by: Ada_user_defined_type_locator_variable Ada_user_defined_type_variable COBOL_user_defined_type_locator_variable COBOL_user_defined_type_variable C_user_defined_type_locator_variable C_user_defined_type_variable Fortran_user_defined_type_locator_variable Fortran_user_defined_type_variable MUMPS_user_defined_type_locator_variable MUMPS_user_defined_type_variable PL_I_user_defined_type_locator_variable PL_I_user_defined_type_variable Pascal_user_defined_type_locator_variable Pascal_user_defined_type_variable data_type exclusive_user_defined_type_specification general_value_specification generalized_expression group_specification inclusive_user_defined_type_specification new_specification referenceable_view_specification referenced_type static_method_invocation supertype_name target_subtype transform_group_characteristic typed_table_clause collection_type: array_type multiset_type
         ::= array_type
           | multiset_type
referenced by: data_type representation array_type: