Chapter 12. BNF for SQL Grammar

12.1. Reserved Keywords

KeywordUsage

ADD

add set child option, add set option, ADD column, ADD constraint

ALL

standard aggregate function, CREATE POLICY, function, GRANT, query expression body, query term, Revoke GRANT, select clause, quantified comparison predicate

ALTER

alter, ALTER PROCEDURE , alterStatement, ALTER TABLE , grant type

AND

between predicate, boolean term, window frame

ANY

standard aggregate function, with role, quantified comparison predicate

ARRAY

ARRAY expression constructor

ARRAY_AGG

ordered aggregate function

AS

alter, ALTER PROCEDURE , ALTER TABLE , ALTER TRIGGER , array table, create procedure, create a domain or type alias, option namespace, create trigger, create view, delete statement, derived column, dynamic data statement, function, json table, loop statement, xml namespace element, object table, select derived column, table subquery, text table, table name, unescapedFunction, update statement, with list element, xml serialize, xml table

ASC

sort specification

ATOMIC

compound statement, for each row trigger action

AUTHENTICATED

with role

BEGIN

compound statement, for each row trigger action

BETWEEN

between predicate, window frame

BIGDECIMAL

simple data type

BIGINT

simple data type

BIGINTEGER

simple data type

BLOB

simple data type, xml serialize

BOOLEAN

simple data type

BOTH

function

BREAK

branching statement

BY

group by clause, order by clause, window specification

BYTE

simple data type

CALL

callable statement, call statement

CASE

case expression, searched case expression

CAST

function

CHAR

function, simple data type

CLOB

simple data type, xml serialize

COLUMN

ADD column, DROP column, ALTER TABLE , GRANT, Revoke GRANT

COMMIT

create temporary table

CONSTRAINT

GRANT, table constraint

CONTINUE

branching statement

CONVERT

function

CREATE

create procedure, create data wrapper, create database, create a domain or type alias, create foreign temp table, CREATE POLICY, create role , create schema, create server, create table, create temporary table, create trigger

CROSS

cross join

CUME_DIST

analytic aggregate function

CURRENT_DATE

function

CURRENT_TIME

function

CURRENT_TIMESTAMP

function

DATE

non numeric literal, simple data type

DAY

function

DECIMAL

simple data type

DECLARE

declare statement

DELETE

alter, ALTER TRIGGER , CREATE POLICY, create trigger, delete statement, grant type

DESC

sort specification

DISTINCT

standard aggregate function, function, is distinct, query expression body, query term, select clause

DOUBLE

simple data type

DROP

DROP column, drop option, Drop data wrapper, drop option, DROP POLICY, drop procedure, drop role , drop schema, drop server, drop table, drop table, grant type

EACH

for each row trigger action

ELSE

case expression, if statement, searched case expression

END

case expression, compound statement, for each row trigger action, searched case expression

ERROR

raise error statement

ESCAPE

match predicate, text table

EXCEPT

query expression body

EXEC

dynamic data statement, call statement

EXECUTE

dynamic data statement, grant type, call statement

EXISTS

exists predicate

FALSE

explain option, json table, non numeric literal

FETCH

fetch clause

FILTER

filter clause

FLOAT

simple data type

FOR

CREATE POLICY, for each row trigger action, function, json table column, text aggreate function, text table column, xml table column

FOREIGN

ALTER PROCEDURE , ALTER TABLE , create procedure, create data wrapper, create foreign or global temporary table, create foreign temp table, create schema, create server, Drop data wrapper, drop procedure, drop schema, drop table, foreign key, Import foreign schema, with role

FROM

delete statement, from clause, function, Import foreign schema, is distinct, Revoke GRANT

FULL

qualified table

FUNCTION

create procedure, drop procedure, GRANT, Revoke GRANT

GLOBAL

create foreign or global temporary table, drop table

GRANT

GRANT

GROUP

function, group by clause

HANDLER

create data wrapper

HAVING

having clause

HOUR

function

IF

if statement

IMMEDIATE

dynamic data statement

IMPORT

Import another Database, Import foreign schema

IN

function, procedure parameter, in predicate

INNER

qualified table

INOUT

procedure parameter

INSERT

alter, ALTER TRIGGER , CREATE POLICY, create trigger, function, insert statement, grant type

INTEGER

simple data type

INTERSECT

query term

INTO

dynamic data statement, Import foreign schema, insert statement, into clause

IS

is distinct, is null predicate

JOIN

cross join, make dep options, qualified table

LANGUAGE

GRANT, object table, Revoke GRANT

LATERAL

table subquery

LEADING

function

LEAVE

branching statement

LEFT

function, qualified table

LIKE

match predicate

LIKE_REGEX

like regex predicate

LIMIT

limit clause

LOCAL

create foreign temp table, create temporary table

LONG

simple data type

LOOP

loop statement

MAKEDEP

option clause, table primary

MAKEIND

option clause, table primary

MAKENOTDEP

option clause, table primary

MERGE

insert statement

MINUTE

function

MONTH

function

NO

make dep options, xml namespace element, text aggreate function, text table column, text table

NOCACHE

option clause

NOT

alter column options, between predicate, compound statement, table element, create a domain or type alias, view element, GRANT, is distinct, is null predicate, match predicate, boolean factor, procedure parameter, procedure result column, like regex predicate, in predicate, temporary table element

NULL

alter column options, table element, create a domain or type alias, view element, is null predicate, non numeric literal, procedure parameter, procedure result column, temporary table element, xml query

OF

alter, ALTER TRIGGER , create trigger

OFFSET

limit clause

ON

alter, ALTER TRIGGER , create foreign temp table, CREATE POLICY, create temporary table, create trigger, DROP POLICY, GRANT, loop statement, qualified table, Revoke GRANT, xml query

ONLY

fetch clause

OPTION

option clause

OPTIONS

alter child options list, alter options list, options clause

OR

boolean value expression

ORDER

GRANT, order by clause

OUT

procedure parameter

OUTER

qualified table

OVER

window specification

PARAMETER

ALTER PROCEDURE

PARTITION

window specification

PERCENT_RANK

analytic aggregate function

PRIMARY

create temporary table, inline constraint, primary key

PROCEDURE

alter, ALTER PROCEDURE , create procedure, CREATE POLICY, DROP POLICY, drop procedure, GRANT, Revoke GRANT

RANGE

window frame

REAL

simple data type

REFERENCES

foreign key

RETURN

assignment statement, return statement, data statement

RETURNS

create procedure

REVOKE

Revoke GRANT

RIGHT

function, qualified table

ROLLUP

group by clause

ROW

array table, fetch clause, for each row trigger action, limit clause, text table, window frame bound

ROWS

array table, create temporary table, fetch clause, limit clause, window frame

SECOND

function

SELECT

CREATE POLICY, grant type, select clause

SERVER

ALTER SERVER , create schema, create server, drop server, Import foreign schema

SET

add set child option, add set option, option namespace, update statement, set schema

SHORT

simple data type

SIMILAR

match predicate

SMALLINT

simple data type

SOME

standard aggregate function, quantified comparison predicate

SQLEXCEPTION

sql exception

SQLSTATE

sql exception

SQLWARNING

raise statement

STRING

dynamic data statement, simple data type, xml serialize

TABLE

ALTER TABLE , create procedure, create foreign or global temporary table, create foreign temp table, create temporary table, drop table, drop table, GRANT, query primary, Revoke GRANT, table subquery

TEMPORARY

create foreign or global temporary table, create foreign temp table, create temporary table, drop table, GRANT, Revoke GRANT

THEN

case expression, searched case expression

TIME

non numeric literal, simple data type

TIMESTAMP

non numeric literal, simple data type

TINYINT

simple data type

TO

rename column options, RENAME Table, CREATE POLICY, DROP POLICY, GRANT, match predicate

TRAILING

function

TRANSLATE

function

TRIGGER

alter, ALTER TRIGGER , create trigger

TRUE

explain option, json table, non numeric literal

UNION

cross join, query expression body

UNIQUE

other constraints, inline constraint

UNKNOWN

non numeric literal

UPDATE

alter, ALTER TRIGGER , CREATE POLICY, create trigger, dynamic data statement, grant type, update statement

USER

function

USING

CREATE POLICY, dynamic data statement

VALUES

query primary

VARBINARY

simple data type, xml serialize

VARCHAR

simple data type, xml serialize

VIRTUAL

ALTER PROCEDURE , ALTER TABLE , create procedure, create schema, create view, drop procedure, drop schema, drop table

WHEN

case expression, searched case expression

WHERE

filter clause, where clause

WHILE

while statement

WITH

assignment statement, create role , Import another Database, query expression, data statement

WITHIN

function

WITHOUT

assignment statement, data statement

WRAPPER

ALTER DATA WRAPPER , create data wrapper, create server, Drop data wrapper

XML

explain option, simple data type

XMLAGG

ordered aggregate function

XMLATTRIBUTES

xml attributes

XMLCAST

unescapedFunction

XMLCOMMENT

function

XMLCONCAT

function

XMLELEMENT

xml element

XMLEXISTS

xml query

XMLFOREST

xml forest

XMLNAMESPACES

xml namespaces

XMLPARSE

xml parse

XMLPI

function

XMLQUERY

xml query

XMLSERIALIZE

xml serialize

XMLTABLE

xml table

XMLTEXT

function

YEAR

function

12.2. Non-Reserved Keywords

NameUsage

ACCESS

basicNonReserved, Import another Database

ACCESSPATTERN

basicNonReserved, other constraints

AFTER

alter, basicNonReserved, create trigger

ANALYZE

basicNonReserved, explain option

ARRAYTABLE

array table, basicNonReserved

AUTO_INCREMENT

alter column options, basicNonReserved, table element, view element

AVG

standard aggregate function, basicNonReserved

CHAIN

basicNonReserved, sql exception

COLUMNS

array table, basicNonReserved, json table, object table, text table, xml table

CONDITION

basicNonReserved, GRANT, Revoke GRANT

CONTENT

basicNonReserved, xml parse, xml serialize

CONTROL

basicNonReserved, Import another Database

COUNT

standard aggregate function, basicNonReserved

COUNT_BIG

standard aggregate function, basicNonReserved

CURRENT

basicNonReserved, window frame bound

DATA

ALTER DATA WRAPPER , basicNonReserved, create data wrapper, create server, Drop data wrapper

DATABASE

ALTER DATABASE , basicNonReserved, create database, Import another Database, use database

DEFAULT

xml namespace element, non-reserved identifier, object table column, post create column, procedure parameter, xml table column

DELIMITER

basicNonReserved, text aggreate function, text table

DENSE_RANK

analytic aggregate function, basicNonReserved

DISABLED

alter, ALTER TRIGGER , basicNonReserved

DOCUMENT

basicNonReserved, xml parse, xml serialize

DOMAIN

basicNonReserved, create a domain or type alias

EMPTY

basicNonReserved, xml query

ENABLED

alter, ALTER TRIGGER , basicNonReserved

ENCODING

basicNonReserved, text aggreate function, xml serialize

EPOCH

basicNonReserved, function

EVERY

standard aggregate function, basicNonReserved

EXCEPTION

compound statement, declare statement, non-reserved identifier

EXCLUDING

basicNonReserved, xml serialize

EXPLAIN

basicNonReserved, explain

EXTRACT

basicNonReserved, function

FIRST

basicNonReserved, fetch clause, sort specification

FOLLOWING

basicNonReserved, window frame bound

FORMAT

basicNonReserved, explain option

GEOGRAPHY

non-reserved identifier, simple data type

GEOMETRY

non-reserved identifier, simple data type

HEADER

basicNonReserved, text aggreate function, text table column, text table

INCLUDING

basicNonReserved, xml serialize

INDEX

other constraints, inline constraint, non-reserved identifier

INSTEAD

alter, ALTER TRIGGER , basicNonReserved, create trigger

JAAS

basicNonReserved, with role

JSON

non-reserved identifier, simple data type

JSONARRAY_AGG

basicNonReserved, ordered aggregate function

JSONOBJECT

basicNonReserved, json object

JSONTABLE

basicNonReserved, json table

KEY

basicNonReserved, create temporary table, foreign key, inline constraint, primary key

LAST

basicNonReserved, sort specification

LISTAGG

basicNonReserved, function

MASK

basicNonReserved, GRANT, Revoke GRANT

MAX

standard aggregate function, basicNonReserved, make dep options

MIN

standard aggregate function, basicNonReserved

NAME

basicNonReserved, function, xml element

NAMESPACE

basicNonReserved, option namespace

NEXT

basicNonReserved, fetch clause

NONE

basicNonReserved

NULLS

basicNonReserved, sort specification

OBJECT

non-reserved identifier, simple data type

OBJECTTABLE

basicNonReserved, object table

ORDINALITY

basicNonReserved, json table column, text table column, xml table column

PASSING

basicNonReserved, object table, xml query, xml query, xml table

PATH

basicNonReserved, json table column, xml table column

POLICY

basicNonReserved, CREATE POLICY, DROP POLICY

POSITION

basicNonReserved, function

PRECEDING

basicNonReserved, window frame bound

PRESERVE

basicNonReserved, create temporary table

PRIVILEGES

basicNonReserved, GRANT, Revoke GRANT

QUARTER

basicNonReserved, function

QUERYSTRING

basicNonReserved, querystring function

QUOTE

basicNonReserved, text aggreate function, text table

RAISE

basicNonReserved, raise statement

RANK

analytic aggregate function, basicNonReserved

RENAME

ALTER PROCEDURE , ALTER TABLE , basicNonReserved

REPOSITORY

basicNonReserved, Import foreign schema

RESULT

basicNonReserved, procedure parameter

ROLE

basicNonReserved, create role , drop role , with role

ROW_NUMBER

analytic aggregate function, basicNonReserved

SCHEMA

basicNonReserved, create schema, drop schema, GRANT, Import foreign schema, Revoke GRANT, set schema

SELECTOR

basicNonReserved, text table column, text table

SERIAL

alter column options, table element, view element, non-reserved identifier, temporary table element

SKIP

basicNonReserved, text table

SQL_TSI_DAY

basicNonReserved, time interval

SQL_TSI_FRAC_SECOND

basicNonReserved, time interval

SQL_TSI_HOUR

basicNonReserved, time interval

SQL_TSI_MINUTE

basicNonReserved, time interval

SQL_TSI_MONTH

basicNonReserved, time interval

SQL_TSI_QUARTER

basicNonReserved, time interval

SQL_TSI_SECOND

basicNonReserved, time interval

SQL_TSI_WEEK

basicNonReserved, time interval

SQL_TSI_YEAR

basicNonReserved, time interval

STDDEV_POP

standard aggregate function, basicNonReserved

STDDEV_SAMP

standard aggregate function, basicNonReserved

SUBSTRING

basicNonReserved, function

SUM

standard aggregate function, basicNonReserved

TEXT

basicNonReserved, explain option

TEXTAGG

basicNonReserved, text aggreate function

TEXTTABLE

basicNonReserved, text table

TIMESTAMPADD

basicNonReserved, function

TIMESTAMPDIFF

basicNonReserved, function

TO_BYTES

basicNonReserved, function

TO_CHARS

basicNonReserved, function

TRANSLATOR

ALTER DATA WRAPPER , basicNonReserved, create data wrapper, create server, Drop data wrapper

TRIM

basicNonReserved, function, text table column, text table

TYPE

alter column options, basicNonReserved, create data wrapper, create server

UNBOUNDED

basicNonReserved, window frame bound

UPSERT

basicNonReserved, insert statement

USAGE

basicNonReserved, GRANT, Revoke GRANT

USE

basicNonReserved, use database

VARIADIC

basicNonReserved, procedure parameter

VAR_POP

standard aggregate function, basicNonReserved

VAR_SAMP

standard aggregate function, basicNonReserved

VERSION

basicNonReserved, create database, create server, Import another Database, use database, xml serialize

VIEW

alter, ALTER TABLE , basicNonReserved, create view, drop table

WELLFORMED

basicNonReserved, xml parse

WIDTH

basicNonReserved, text table column

XMLDECLARATION

basicNonReserved, xml serialize

YAML

basicNonReserved, explain option

12.3. Reserved Keywords For Future Use

ALLOCATE

ARE

ASENSITIVE

ASYMETRIC

AUTHORIZATION

BINARY

CALLED

CASCADED

CHARACTER

CHECK

CLOSE

COLLATE

CONNECT

CORRESPONDING

CRITERIA

CURRENT_USER

CURSOR

CYCLE

DATALINK

DEALLOCATE

DEC

DEREF

DESCRIBE

DETERMINISTIC

DISCONNECT

DLNEWCOPY

DLPREVIOUSCOPY

DLURLCOMPLETE

DLURLCOMPLETEONLY

DLURLCOMPLETEWRITE

DLURLPATH

DLURLPATHONLY

DLURLPATHWRITE

DLURLSCHEME

DLURLSERVER

DLVALUE

DYNAMIC

ELEMENT

EXTERNAL

FREE

GET

HAS

HOLD

IDENTITY

INDICATOR

INPUT

INSENSITIVE

INT

INTERVAL

ISOLATION

LARGE

LOCALTIME

LOCALTIMESTAMP

MATCH

MEMBER

METHOD

MODIFIES

MODULE

MULTISET

NATIONAL

NATURAL

NCHAR

NCLOB

NEW

NUMERIC

OLD

OPEN

OUTPUT

OVERLAPS

PRECISION

PREPARE

READS

RECURSIVE

REFERENCING

RELEASE

ROLLBACK

SAVEPOINT

SCROLL

SEARCH

SENSITIVE

SESSION_USER

SPECIFIC

SPECIFICTYPE

SQL

START

STATIC

SUBMULTILIST

SYMETRIC

SYSTEM

SYSTEM_USER

TIMEZONE_HOUR

TIMEZONE_MINUTE

TRANSLATION

TREAT

VALUE

VARYING

WHENEVER

WINDOW

XMLBINARY

XMLDOCUMENT

XMLITERATE

XMLVALIDATE

12.4. Tokens

NameDefinitionUsage

all in group identifier

<identifier> <period> <star>

all in group

binary string literal

"X" | "x" "\'" (<hexit> <hexit>)+ "\'"

non numeric literal

colon

":"

make dep options, statement

comma

","

alter child options list, alter options list, ARRAY expression constructor, column list, create procedure, typed element list, CREATE POLICY, create table body, create temporary table, create view body, derived column list, sql exception, named parameter list, explain, expression list, from clause, function, GRANT, identifier list, json table, limit clause, nested expression, object table, option clause, options clause, order by clause, simple data type, query expression, query primary, querystring function, Revoke GRANT, select clause, set clause list, in predicate, text aggreate function, text table, xml attributes, xml element, xml query, xml forest, xml namespaces, xml query, xml table

concat_op

"||"

common value expression

decimal numeric literal

(<digit>)* <period> <unsigned integer literal>

unsigned numeric literal

digit

\["0"\-"9"\]

 

dollar

"$"

parameter reference

double_amp_op

"&&"

common value expression

eq

"="

assignment statement, callable statement, declare statement, named parameter list, comparison operator, set clause list

escaped function

"{" "fn"

unsigned value expression primary

escaped join

"{" "oj"

table reference

escaped type

"{" ("d" | "t" | "ts" | "b")

non numeric literal

approximate numeric literal

<digit> <period> <unsigned integer literal> \["e","E"\] (<plus> | <minus>)? <unsigned integer literal>

unsigned numeric literal

ge

">="

comparison operator

gt

">"

named parameter list, comparison operator

hexit

\["a"\-"f","A"\-"F"\] | <digit>

 

identifier

<quoted_id> (<period> <quoted_id>)*

create a domain or type alias, identifier, data type, Unqualified identifier, unsigned value expression primary

id_part

("" | "@" | "#" | <letter>) (<letter> | "" | <digit>)*

 

lbrace

"{"

callable statement, match predicate

le

"⇐"

comparison operator

letter

\["a"\-"z","A"\-"Z"\] | \["\u0153"\-"\ufffd"\]

 

lparen

"("

standard aggregate function, alter child options list, alter options list, analytic aggregate function, ARRAY expression constructor, array table, callable statement, column list, other constraints, create procedure, CREATE POLICY, create table body, create temporary table, create view body, explain, filter clause, function, group by clause, if statement, json object, json table, loop statement, make dep options, nested expression, object table, options clause, ordered aggregate function, simple data type, query primary, querystring function, in predicate, call statement, subquery, quantified comparison predicate, table subquery, table primary, text aggreate function, text table, unescapedFunction, while statement, window specification, with list element, xml attributes, xml element, xml query, xml forest, xml namespaces, xml parse, xml query, xml serialize, xml table

lsbrace

"["

ARRAY expression constructor, basic data type, data type, value expression primary

lt

"<"

comparison operator

minus

"-"

plus or minus

ne

"<>"

comparison operator

ne2

"!="

comparison operator

period

"."

 

plus

"+"

plus or minus

qmark

"?"

callable statement, parameter reference

quoted_id

<id_part> | "\"" ("\"\"" | ~\["\""\])+ "\""

 

rbrace

"}"

callable statement, match predicate, non numeric literal, table reference, unsigned value expression primary

rparen

")"

standard aggregate function, alter child options list, alter options list, analytic aggregate function, ARRAY expression constructor, array table, callable statement, column list, other constraints, create procedure, CREATE POLICY, create table body, create temporary table, create view body, explain, filter clause, function, group by clause, if statement, json object, json table, loop statement, make dep options, nested expression, object table, options clause, ordered aggregate function, simple data type, query primary, querystring function, in predicate, call statement, subquery, quantified comparison predicate, table subquery, table primary, text aggreate function, text table, unescapedFunction, while statement, window specification, with list element, xml attributes, xml element, xml query, xml forest, xml namespaces, xml parse, xml query, xml serialize, xml table

rsbrace

"]"

ARRAY expression constructor, basic data type, data type, value expression primary

semicolon

";"

delimited statement

slash

"/"

star or slash

star

"*"

standard aggregate function, dynamic data statement, select clause, star or slash

string literal

("N" | "E")? "\'" ("\'\'" | ~\["\'"\])* "\'"

string

unsigned integer literal

(<digit>)+

unsigned integer, unsigned numeric literal

12.5. Production Cross-Reference

NameUsage

add set child option

alter child options list

add set option

alter options list

standard aggregate function

unescapedFunction

all in group

select sublist

alter

directly executable statement

ADD column

ALTER TABLE

ADD constraint

ALTER TABLE

alter child option pair

add set child option

alter child options list

alter column options

alter column options

ALTER PROCEDURE , ALTER TABLE

ALTER DATABASE

alterStatement

DROP column

ALTER TABLE

alter option pair

add set option

alter options list

ALTER DATABASE , ALTER PROCEDURE , ALTER SERVER , ALTER TABLE , ALTER DATA WRAPPER

ALTER PROCEDURE

alterStatement

rename column options

ALTER PROCEDURE , ALTER TABLE

RENAME Table

ALTER TABLE

ALTER SERVER

alterStatement

alterStatement

ddl statement

ALTER TABLE

alterStatement

ALTER DATA WRAPPER

alterStatement

ALTER TRIGGER

alterStatement

analytic aggregate function

unescapedFunction

ARRAY expression constructor

unsigned value expression primary

array table

table primary

assignment statement

delimited statement

assignment statement operand

assignment statement, declare statement

basicNonReserved

create a domain or type alias, non-reserved identifier, data type

between predicate

boolean primary

boolean primary

CREATE POLICY, filter clause, boolean factor

branching statement

delimited statement

callable statement

 

case expression

unsigned value expression primary

character

match predicate, text aggreate function, text table

column list

other constraints, create temporary table, foreign key, insert statement, primary key, with list element

common value expression

between predicate, boolean primary, comparison predicate, sql exception, function, is distinct, match predicate, like regex predicate, in predicate, text table

comparison predicate

boolean primary

boolean term

boolean value expression

boolean value expression

condition

compound statement

statement, directly executable statement

other constraints

table constraint

table element

ADD column, create table body

create procedure

ddl statement

create data wrapper

ddl statement

create database

ddl statement

create a domain or type alias

ddl statement

typed element list

array table, dynamic data statement

create foreign or global temporary table

create table

create foreign temp table

directly executable statement

option namespace

ddl statement

CREATE POLICY

ddl statement

create role

ddl statement

create schema

ddl statement

create server

ddl statement

create table

ddl statement

create table body

create foreign or global temporary table, create foreign temp table

create temporary table

directly executable statement

create trigger

ddl statement, directly executable statement

create view

create table

create view body

create view

view element

create view body

condition

expression, having clause, if statement, qualified table, searched case expression, where clause, while statement

cross join

joined table

ddl statement

ddl statement

declare statement

delimited statement

delete statement

assignment statement operand, directly executable statement

delimited statement

statement

derived column

derived column list, object table, querystring function, text aggreate function, xml attributes, xml query, xml query, xml table

derived column list

json object, xml forest

drop option

alter child options list

Drop data wrapper

ddl statement

drop option

alter options list

DROP POLICY

ddl statement

drop procedure

ddl statement

drop role

ddl statement

drop schema

ddl statement

drop server

ddl statement

drop table

directly executable statement

drop table

ddl statement

dynamic data statement

data statement

raise error statement

delimited statement

sql exception

assignment statement operand, exception reference

exception reference

sql exception, raise statement

named parameter list

callable statement, call statement

exists predicate

boolean primary

explain

 

explain option

explain

expression

standard aggregate function, ARRAY expression constructor, assignment statement operand, case expression, derived column, dynamic data statement, raise error statement, named parameter list, expression list, function, nested expression, object table column, ordered aggregate function, post create column, procedure parameter, querystring function, return statement, searched case expression, select derived column, set clause list, sort key, quantified comparison predicate, unescapedFunction, xml table column, xml element, xml parse, xml serialize

expression list

callable statement, other constraints, function, group by clause, query primary, call statement, window specification

fetch clause

limit clause

filter clause

function, unescapedFunction

for each row trigger action

alter, ALTER TRIGGER , create trigger

foreign key

table constraint

from clause

query

function

unescapedFunction, unsigned value expression primary

GRANT

ddl statement

group by clause

query

having clause

query

identifier

alter, alter child option pair, alter column options, ALTER DATABASE , DROP column, alter option pair, ALTER PROCEDURE , rename column options, RENAME Table, ALTER SERVER , ALTER TABLE , ALTER DATA WRAPPER , ALTER TRIGGER , array table, assignment statement, branching statement, callable statement, column list, compound statement, table element, create data wrapper, create database, typed element list, create foreign temp table, option namespace, CREATE POLICY, create schema, create trigger, view element, declare statement, delete statement, derived column, drop option, Drop data wrapper, drop option, DROP POLICY, drop procedure, drop role , drop schema, drop server, drop table, drop table, dynamic data statement, exception reference, named parameter list, foreign key, function, GRANT, identifier list, Import another Database, Import foreign schema, insert statement, into clause, json table column, json table, loop statement, xml namespace element, object table column, object table, option clause, option pair, procedure parameter, procedure result column, query primary, Revoke GRANT, select derived column, set clause list, statement, call statement, table subquery, table constraint, temporary table element, text aggreate function, text table column, text table, table name, update statement, use database, set schema, with list element, xml table column, xml element, xml serialize, xml table

identifier list

create schema, with role

if statement

statement

Import another Database

ddl statement

Import foreign schema

ddl statement

inline constraint

post create column

insert statement

assignment statement operand, directly executable statement

integer parameter

fetch clause, limit clause

unsigned integer

dynamic data statement, function, GRANT, integer parameter, make dep options, parameter reference, simple data type, text table column, text table, window frame bound

time interval

function

into clause

query

is distinct

boolean primary

is null predicate

boolean primary

joined table

table primary, table reference

json table column

json table

json object

function

json table

table primary

limit clause

query expression body

loop statement

statement

make dep options

option clause, table primary

match predicate

boolean primary

xml namespace element

xml namespaces

nested expression

unsigned value expression primary

non numeric literal

alter child option pair, alter option pair, option pair, value expression primary

non-reserved identifier

identifier, Unqualified identifier, unsigned value expression primary

boolean factor

boolean term

object table column

object table

object table

table primary

comparison operator

comparison predicate, quantified comparison predicate

option clause

callable statement, delete statement, insert statement, query expression body, call statement, update statement

option pair

options clause

options clause

create procedure, create data wrapper, create database, create schema, create server, create table body, create view, create view body, Import foreign schema, post create column, procedure parameter, procedure result column, table constraint

order by clause

function, ordered aggregate function, query expression body, text aggreate function, window specification

ordered aggregate function

unescapedFunction

parameter reference

unsigned value expression primary

basic data type

typed element list, json table column, object table column, data type, temporary table element, text table column, xml table column

data type

alter column options, table element, create procedure, create a domain or type alias, view element, declare statement, function, procedure parameter, procedure result column, unescapedFunction

simple data type

basic data type

numeric value expression

common value expression, value expression primary

plus or minus

alter child option pair, alter option pair, option pair, numeric value expression, value expression primary

post create column

table element, view element

primary key

table constraint

procedure parameter

create procedure

procedure result column

create procedure

qualified table

joined table

query

query primary

query expression

alter, ALTER TABLE , ARRAY expression constructor, assignment statement operand, create view, insert statement, loop statement, subquery, table subquery, directly executable statement, with list element

query expression body

query expression, query primary

query primary

query term

querystring function

function

query term

query expression body

raise statement

delimited statement

grant type

GRANT, Revoke GRANT

with role

create role

like regex predicate

boolean primary

return statement

delimited statement

Revoke GRANT

ddl statement

searched case expression

unsigned value expression primary

select clause

query

select derived column

select sublist

select sublist

select clause

set clause list

dynamic data statement, update statement

in predicate

boolean primary

sort key

sort specification

sort specification

order by clause

data statement

delimited statement

statement

alter, ALTER PROCEDURE , compound statement, create procedure, for each row trigger action, if statement, loop statement, while statement

call statement

assignment statement, subquery, table subquery, directly executable statement

string

character, create database, option namespace, create server, function, GRANT, Import another Database, json table column, json table, xml namespace element, non numeric literal, object table column, object table, text table column, text table, use database, xml table column, xml query, xml query, xml serialize, xml table

subquery

exists predicate, in predicate, quantified comparison predicate, unsigned value expression primary

quantified comparison predicate

boolean primary

table subquery

table primary

table constraint

ADD constraint, create table body, create view body

temporary table element

create temporary table

table primary

cross join, joined table

table reference

from clause, qualified table

text aggreate function

unescapedFunction

text table column

text table

text table

table primary

term

numeric value expression

star or slash

term

table name

table primary

unescapedFunction

unsigned value expression primary

Unqualified identifier

create procedure, create data wrapper, create foreign or global temporary table, create foreign temp table, create role , create server, create temporary table, create view

unsigned numeric literal

alter child option pair, alter option pair, option pair, value expression primary

unsigned value expression primary

integer parameter, value expression primary

update statement

assignment statement operand, directly executable statement

use database

ddl statement

set schema

ddl statement

directly executable statement

explain, data statement

value expression primary

array table, json table, term

where clause

delete statement, query, update statement

while statement

statement

window frame

window specification

window frame bound

window frame

window specification

unescapedFunction

with list element

query expression

xml attributes

xml element

xml table column

xml table

xml element

function

xml query

boolean primary

xml forest

function

xml namespaces

xml element, xml query, xml forest, xml query, xml table

xml parse

function

xml query

function

xml serialize

function

xml table

table primary

12.6. Productions

12.6.177. post create column ::=

Common options trailing a column

Example:

PRIMARY KEY