
<add definition> ::=
ADD <column definition>,...
| ADD (<column definition>,...)
| ADD <constraint definition>
| ADD <key definition>
| ADD REPLICATION
<alias name> ::=
<all function> ::=
<set function name> ( [ALL] <expression> )
COLUMN <column name> <alter data type>
| COLUMN <column name> NOT NULL
| COLUMN <column name> DEFAULT NULL
| COLUMN <column name> ADD <default spec>
| COLUMN <column name> ALTER <default spec>
| COLUMN <column name> DROP DEFAULT
| ALTER CONSTRAINT <constraint name> CHECK <search condition>
| ALTER <key definition>
<alter password statement> ::=
ALTER PASSWORD <old password> TO <new password>
| ALTER PASSWORD <user name> <new password>
ALTER TABLE <table name> <add definition>
| ALTER TABLE <table name> <drop definition>
| ALTER TABLE <table name> <alter definition>
| ALTER TABLE <table name> <referential constraint definition>
| ALTER TABLE <table name> DROP FOREIGN KEY
ALTER USER <user name> [<user mode>]
[PERMLIMIT <altered value>]
[TEMPLIMIT <altered value>]
[TIMEOUT <altered value>]
[COSTWARNING <altered value>]
[COSTLIMIT <altered value>]
[CACHELIMIT <altered value>]
[[NOT] EXCLUSIVE]
<alter usergroup statement> ::=
ALTER USERGROUP <usergroup name> [<usergroup mode>]
[PERMLIMIT <altered value>]
[TEMPLIMIT <altered value>]
[TIMEOUT <altered value>]
[COSTWARNING <altered value>]
[COSTLIMIT <altered value>]
[CACHELIMIT <altered value>]
[[NOT] EXCLUSIVE]
<altered value> ::=
| NULL
TRUNC ( <expression>[, <expression>] )
| ROUND ( <expression>[, <expression>] )
| NOROUND ( <expression> )
| FIXED ( <expression>[, <unsigned integer>
[, <unsigned integer>] ] )
| CEIL ( <expression> )
| FLOOR ( <expression> )
| SIGN ( <expression> )
| ABS ( <expression> )
| POWER ( <expression>, <expression> )
| EXP ( <expression> )
| SQRT ( <expression> )
| LN ( <expression> )
| LOG ( <expression>, <expression> )
| PI
| LENGTH ( <expression> )
| INDEX ( <string spec>, <string spec>
[,<expression>[, <expression>] ] )
<expression> [NOT] BETWEEN <expression> AND <expression>
<bool predicate> ::=
<column spec> [ IS [NOT] <bool spec> ]
<bool spec> ::=
TRUE
| FALSE
<boolean factor> ::=
[NOT] <boolean primary>
<boolean term> ::=
| <boolean term> AND <boolean factor>
<cascade option> ::=
CASCADE
| RESTRICT
<character> ::=
| <letter>
| <language specific character>
<clear snapshot log statement> ::=
CLEAR SNAPSHOT LOG ON <table name>
CLOSE [<result table name>]
<code spec> ::=
ASCII
| EBCDIC
| BYTE
[REFERENCES <table name> [(column name)]]
[UNIQUE]
<column name> <data type> <column attributes>
| <column name> <domain name> [<key or not null spec>]
<column name> ::=
<column spec> ::=
| <reference name>.<column name>
| <result table name>.<column name>
<comment> ::=
COMMENT ON <object spec> IS <comment>
COMMIT [WORK] [KEEP <lock statement>]
<comp op> ::=
< | > | <> | != | = | <= | >=
| ¬= | ¬< | ¬> for a computer with the code type EBCDIC
| ~= | ~< | ~> for a computer with the code type ASCII
<expression> <comp op> <expression>
| <expression> <comp op> <subquery>
| <expression list> <equal or not> (<expression list>)
| <expression list> <equal or not> <subquery>
^
| ~
| ¬
CONNECT <user spec>
IDENTIFIED BY <password spec>
[SQLMODE <sqlmode spec>]
[TIMEOUT <unsigned integer>]
[CACHELIMIT <unsigned integer>]
[TERMCHAR SET <termchar set name>]
CHECK <search condition>
| CONSTRAINT <search condition>
| CONSTRAINT <constraint name> CHECK <search condition>
NUM ( <expression> )
| CHR ( <expression>[, <unsigned integer> ] )
| HEX ( <expression> )
| CHAR ( <expression>[, <datetimeformat> ] )
CREATE DOMAIN <domain name> <data type>
[<default spec>] [<constraint definition>]
CREATE [UNIQUE] INDEX <index spec>
<create snapshot log statement> ::=
CREATE SNAPSHOT LOG ON <table name>
<create snapshot statement> ::=
CREATE SNAPSHOT <table name> [(<alias name>,...)]
<create synonym statement> ::=
CREATE SYNONYM [<owner>.]<synonym name> FOR <table name>
CREATE TABLE <table name> [(<table description element>,...)]
[AS <query expression> [<duplicates clause>] ]
| CREATE TABLE <table name> LIKE <source table>
CREATE USER <user name> PASSWORD <password>
[PERMLIMIT <unsigned integer>]
[TEMPLIMIT <unsigned integer>]
[TIMEOUT <unsigned integer>]
[COSTWARNING <unsigned integer>]
[COSTLIMIT <unsigned integer>]
[CACHELIMIT <unsigned integer>]
[[NOT] EXCLUSIVE]
[AT <serverdb name>]
| CREATE USER <like user> PASSWORD <password>
LIKE <source user>
| CREATE USER <user name> PASSWORD <password>
USERGROUP <usergroup name>
<create usergroup statement> ::=
CREATE USERGROUP <usergroup name>
[PERMLIMIT <unsigned integer>]
[TEMPLIMIT <unsigned integer>]
[TIMEOUT <unsigned integer>]
[COSTWARNING <unsigned integer>]
[COSTLIMIT <unsigned integer>]
[CACHELIMIT <unsigned integer>]
[[NOT] EXCLUSIVE]
[AT <serverdb name>]
CREATE [OR REPLACE] VIEW <table name> [(<alias name>,...)]
[WITH CHECK OPTION]
<data type> ::=
CHAR[ACTER] (<unsigned integer>) [<code spec>]
| VARCHAR (<unsigned integer>) [<code spec>]
| LONG [VARCHAR] [<code spec>]
| BOOLEAN
| FIXED (<unsigned integer> [,<unsigned integer>])
| FLOAT (<unsigned integer>)
| DATE
| TIME
| TIMESTAMP
<date function> ::=
ADDDATE ( <date or timestamp expression>, <expression> )
| SUBDATE ( <date or timestamp expression>, <expression> )
| DATEDIFF ( <date or timestamp expression>,
<date or timestamp expression> )
| DAYOFWEEK ( <date or timestamp expression> )
| WEEKOFYEAR ( <date or timestamp expression> )
| DAYOFMONTH ( <date or timestamp expression> )
| DAYOFYEAR ( <date or timestamp expression> )
| MAKEDATE ( <expression>, <expression> )
| DAYNAME ( <date or timestamp expression> )
| MONTHNAME ( <date or timestamp expression> )
<date or timestamp expression> ::=
<datetimeformat> ::=
EUR
| INTERNAL
| ISO
| JIS
| USA
<db procedure> ::=
[<owner>.]<program name>.<procedure name>
<declare cursor statement> ::=
DECLARE <result table name> CURSOR FOR <select statement>
<column spec> <comp op> DEFAULT
<default spec> ::=
DEFAULT <default value>
<default value> ::=
| NULL
| USER
| USERGROUP
| DATE
| TIME
| TIMESTAMP
| STAMP
| TRUE
| FALSE
<delete rule> ::=
ON DELETE CASCADE
| ON DELETE RESTRICT
| ON DELETE SET DEFAULT
| ON DELETE SET NULL
DELETE [FROM] <table name> [<reference name>]
[KEY <key spec>,...]
[WHERE <search condition>]
| DELETE [FROM] <table name> [<reference name>]
WHERE CURRENT OF <result table name>
( | ) | , | . | + | - | * | /
| < | > | <> | != | = | <= | >=
| ¬= | ¬< | ¬> for a computer with the code type EBCDIC
| ~= | ~< | ~> for a computer with the code type ASCII
<derived column> ::=
<expression> [<result column name>]
| <result column name> = <expression>
<digit> ::=
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
| SAME
<dir spec> ::=
FIRST
| LAST
| NEXT
| PREV
<dir1 spec> ::=
FIRST
| LAST
<dir2 spec> ::=
NEXT
| PREV
<set function name> ( DISTINCT <expression> )
<distinct spec> ::=
DISTINCT
| ALL
<domain name> ::=
<double quotes> ::=
"
DROP <column name>,... [<cascade option>]
| DROP (<column name>,...) [<cascade option>]
| DROP CONSTRAINT <constraint name>
| DROP PRIMARY KEY
| DROP REPLICATION
DROP DOMAIN <domain name>
DROP INDEX <index name> [ON <table name>]
| DROP INDEX <table name>.<column name>
DROP SNAPSHOT <table name>
<drop snapshot log statement> ::=
DROP SNAPSHOT LOG ON <table name>
DROP SYNONYM [<owner>.]<synonym name>
DROP TABLE <table name> [<cascade option>]
DROP USER <user name> [<cascade option>]
<drop usergroup statement> ::=
DROP USERGROUP <usergroup name> [<cascade option>]
DROP VIEW <table name> [<cascade option>]
REJECT DUPLICATES
| IGNORE DUPLICATES
| UPDATE DUPLICATES
<equal or not> ::=
=
| <>
| ¬= for a computer with the code type EBCDIC
| ~= for a computer with the code type ASCII
EXISTS <subquery>
EXISTS TABLE <table name>
EXPLAIN [(<result table name>)] <query statement>
| EXPLAIN [(<result table name>)] <single select statement>
<exponent> ::=
[<sign>] [ [<digit>] <digit>] <digit>
<expression> ::=
| <expression> + <term>
| <expression> - <term>
(<expression>,...)
| DEFAULT
| STAMP
# | @ | $
| DEFAULT
| STAMP
YEAR ( <date or timestamp expression> )
| MONTH ( <date or timestamp expression> )
| DAY ( <date or timestamp expression> )
| HOUR ( <time or timestamp expression> )
| MINUTE ( <time or timestamp expression> )
| SECOND ( <time or timestamp expression> )
| MICROSECOND ( <expression> )
| TIMESTAMP ( <expression>[, <expression> ] )
| DATE ( <expression> )
| TIME ( <expression> )
<factor> ::=
FETCH [<dir or position>] [<result table name>]
INTO <parameter spec>,...
| <language specific character>
<first password character> ::=
| <language specific character>
| <digit>
[<sign>] <unsigned integer>[.<unsigned integer>]
| [<sign>] <unsigned integer>.
| [<sign>] .<unsigned integer>
<from clause> ::=
FROM <table spec>,...
<function spec> ::=
GRANT <priv spec>,... TO <grantee>,... [WITH GRANT OPTION]
| GRANT EXECUTE ON <db procedure> TO <grantee>,...
GRANT USER <granted users>
[FROM <user name>] TO <user name>
<grant usergroup statement> ::=
GRANT USERGROUP <granted usergroups>
[FROM <user name>] TO <user name>
<granted users> ::=
<user name>,...
| *
<granted usergroups> ::=
<usergroup name>,...
| *
<grantee> ::=
PUBLIC
<group clause> ::=
GROUP BY <expression>,...
<having clause> ::=
HAVING <search condition>
<hex digit> ::=
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
| A | B | C | D | E | F
| a | b | c | d | e | f
<hex digit seq> ::=
| <hex digit seq> <hex digit> <hex digit>
<hex literal> ::=
x''
| X''
| x'<hex digit seq>'
| X'<hex digit seq>'
<hours> ::=
<identifier> ::=
| <double quotes>.token.<special identifier>.token.<double quotes>
<identifier tail character> ::=
| <language specific character>
| <digit>
<in predicate> ::=
<expression> [NOT] IN <subquery>
| <expression> [NOT] IN (<expression>,...)
| <expression list> [NOT] IN <subquery>
| <expression list> [NOT] IN (<expression list>,...)
<index clause> ::=
<index name> ::=
INDEX <column name>
| INDEXNAME <index name>
<index pos spec> ::=
INDEX <column name> = <value spec>
| INDEXNAME <index name> VALUES (<value spec>,...)
<index spec> ::=
| <named index spec>
<indicator name> ::=
<insert columns and values> ::=
[(<column name>,...)] VALUES (<extended expression>,...)
| [(<column name>,...)] <query expression>
| SET <set insert clause>,...
INSERT [INTO] <table name> <insert columns and values>
<isolation spec> ::=
ISOLATION LEVEL <unsigned integer>
<join predicate> ::=
<expression> [<outer join indicator>]
<expression> [<outer join indicator>]
<key definition> ::=
PRIMARY KEY (<column name>,...)
[PRIMARY] KEY
| NOT NULL [WITH DEFAULT]
<key spec> ::=
<key word> ::=
<language specific character> ::=
Every letter that occurs in a North, Central or South
European language, but is not contained in <letter>
(e.g. the German umlauts, French grave accent, etc.).
<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
| '<pattern element>...'
<like predicate> ::=
<expression> [NOT] LIKE <like expression>
[ESCAPE <expression>]
<like user> ::=
<literal> ::=
<lock option> ::=
WITH LOCK <with lock info>
<lock spec> ::=
| <table lock spec> <row lock spec>
<lock statement> ::=
LOCK [<wait option>] <lock spec> IN SHARE MODE
| LOCK [<wait option>] <lock spec> IN EXCLUSIVE MODE
| LOCK [<wait option>] <lock spec> IN SHARE MODE
<lock spec> IN EXCLUSIVE MODE
| LOCK [<wait option>] <row lock spec> OPTIMISTIC
<mantissa> ::=
<match char> ::=
Every character except
%, *, X'1F', <underscore>, ?, X'1E', (.
<match class> ::=
<match element> ::=
Every character except ).
<match range> ::=
<match element>-<match element>
<match set> ::=
| ?
| X'1E'
| ([<complement sign>]<match class>...)
<match string> ::=
%
| *
| X'1F'
<minutes> ::=
MONITOR ON
| MONITOR OFF
<index name> ON <table name> ( <index clause>,... )
| <named query expression> UNION [ALL] <query term>
| <named query expression> EXCEPT [ALL] <query term>
SELECT [<distinct spec>]
<result table name> (<select column>,...)
| <named query term> INTERSECT [ALL] <query primary>
[FOR REUSE]
<new password> ::=
<new table name> ::=
NEXT STAMP [FOR <tablename>] [INTO] <parameter name>
ACCOUNTING ACTIVATE ADABAS ADD_MONTHS AFTER
ANALYZE ANSI
BAD BEGINLOAD BLOCKSIZE BUFFER
CACHELIMIT CACHES CANCEL CLEAR COLD
COMPLETE CONFIG CONSOLE CONSTRAINTS COPY
COSTLIMIT COSTWARNING CURRVAL
DATA DAYS DB2 DBA DBFUNCTION
DBPROC DBPROCEDURE DEGREE DESTPOS DEVICE
DEVSPACE DIAGNOSE DISABLE DIV DOMAINDEF
DSETPASS DUPLICATES DYNAMIC
ENDLOAD ENDPOS EUR EXPLAIN EXPLICIT
FIRSTPOS FNULL FORCE FORMAT FREAD
FREEPAGE FWRITE
GATEWAY GRANTED
HEXTORAW HOLD HOURS
IMPLICIT INDEXNAME INIT INITRANS INSTR
INTERNAL ISO
JIS
KEEP
LABEL LASTPOS LAST_DAY LOAD
MAXTRANS MDECLARE MDELETE MFETCH MICROSECONDS
MINSERT MINUTES MLOCK MOD MONITOR
MONTHS MONTHS_BETWEEN MSELECT MUPDATE
NEW_TIME NEXTVAL NEXT_DAY NOLOG NORMAL
NOSORT NVL
OFF OPTIMISTIC ORACLE OUT OVERWRITE
PAGES PARAM PARSE PARSEID PARTICIPANTS
PASSWORD PATTERN PCTUSED PERMLIMIT POS
PRIV PROC PSM
QUICK
RANGE RAWTOHEX RECONNECT REFRESH REPLICATION
REST RESTART RESTORE REUSE RFETCH
SAME SAPR3 SAVE SAVEPOINT SEARCH
SECONDS SEGMENT SELECTIVITY SEQUENCE SERVERDB
SHUTDOWN SNAPSHOT SOUNDS SOURCEPOS SQLID
SQLMODE STANDARD STARTPOS STAT STATE
STORAGE STORE SUBPAGES SUBTRANS
TABID TABLEDEF TEMP TEMPLIMIT TERMCHAR
TIMEOUT TO_CHAR TO_DATE TO_NUMBER TRANSFILE
TRIGGERDEF
UNLOAD UNLOCK UNTIL USA USERID
VERIFY VERSION VSIZE VTRACE
WAIT
YEARS
<null predicate> ::=
<expression> IS [NOT] NULL
<object spec> ::=
COLUMN <table name>.<column name>
| DBPROC <db procedure>
| DOMAIN <domain name>
| INDEX <index name> ON <table name>
| INDEX <table name>.<column name>
| TABLE <table name>
| TRIGGER <trigger name> ON <table name>
| USER <user name>
| VIEW <table name>
<old password> ::=
<old table name> ::=
OPEN <result table name>
<order clause> ::=
ORDER BY <sort spec>,...
<order spec> ::=
ASC
| DESC
<outer join indicator> ::=
(+)
<owner> ::=
| TEMP
<parameter name> ::=
<parameter spec> ::=
<parameter name> [<indicator name>]
<password> ::=
| <first password character> [<identifier tail character>...]
<password spec> ::=
<pos1 spec> ::=
| <index pos spec> [KEY <key spec>,...]
| KEY <key spec>,...
<pos2 spec> ::=
[<index pos spec>] KEY <key spec>,...
<position> ::=
POS (<unsigned integer>)
| POS (<parameter spec>)
<predicate> ::=
<prefix> ::=
<primary> ::=
| (<expression>)
<priv spec> ::=
<table privileges> ON [TABLE] <table name>,...
<privilege> ::=
INSERT
| UPDATE [(<column name>,...)]
| SELECT [(<column name>,...)]
| SELUPD [(<column name>,...)]
| DELETE
| INDEX
| ALTER
| REFERENCES [(<column name>,...)]
<procedure name> ::=
<program name> ::=
<expression> <comp op> <quantifier> (<expression>,...)
| <expression> <comp op> <quantifier> <subquery>
| <expression list> <equal or not>
<quantifier> (<expression list>,...)
| <expression list> <equal or not> <quantifier> <subquery>
<quantifier> ::=
ALL
| <some>
| <query expression> UNION [ALL] <query term>
| <query expression> EXCEPT [ALL] <query term>
<query primary> ::=
<query spec> ::=
SELECT [<distinct spec>] <select column>,...
<query term> ::=
| <query term> INTERSECT [ALL] <query primary>
<reference name> ::=
<referential constraint definition> ::=
FOREIGN KEY [<referential constraint name>]
(<referencing column>,...)
REFERENCES <referenced table> [(<referenced column>,...)]
<referential constraint name> ::=
REFRESH SNAPSHOT <table name> [COMPLETE]
<regular token> ::=
COMMIT [WORK] RELEASE
| ROLLBACK [WORK] RELEASE
RENAME COLUMN <table name>.<column name> TO <column name>
<rename synonym statement> ::=
RENAME SYNONYM <old synonym name> TO <new synonym name>
RENAME TABLE <old table name> TO <new table name>
RENAME VIEW <old table name> TO <new table name>
ABS ACOS ADDDATE ADDTIME ALL
ALPHA ALTER ANY ASCII ASIN
ATAN ATAN2 AVG
BINARY BIT BOOLEAN BYTE
CEIL CEILING CHAR CHARACTER CHECK
CHR COLUMN CONNECTED CONSTRAINT COS
COSH COT COUNT CURDATE CURRENT
CURTIME
DATABASE DATE DATEDIFF DAY DAYNAME
DAYOFMONTH DAYOFWEEK DAYOFYEAR DBYTE DEC
DECIMAL DECODE DEFAULT DEGREES DELETE
DIGITS DIRECT DISTINCT DOUBLE
EBCDIC ENTRY ENTRYDEF EXCEPT EXISTS
EXP EXPAND
FIRST FIXED FLOAT FLOOR FOR
FROM
GRAPHIC GREATEST GROUP
HAVING HEX HOUR
IFNULL IGNORE INDEX INITCAP INSERT
INT INTEGER INTERSECT INTO
KEY
LAST LCASE LEAST LEFT LENGTH
LFILL LINK LIST LN LOCALSYSDBA
LOG LOG10 LONG LOWER LPAD
LTRIM
MAKEDATE MAKETIME MAPCHAR MAX MICROSECOND
MIN MINUTE MONTH MONTHNAME
NEXT NOROUND NOT NOW NULL
NUM NUMERIC
OBJECT OF ORDER
PACKED PI POWER PREV PRIMARY
RADIANS REAL REFERENCED REJECT REPLACE
RFILL RIGHT ROUND ROWID ROWNO
RPAD RTRIM
SECOND SELECT SELUPD SET SHOW
SIGN SIN SINH SMALLINT SOME
SOUNDEX SQRT STAMP STATISTICS STDDEV
SUBDATE SUBSTR SUBTIME SUM SYSDBA
TABLE TAN TANH TIME TIMEDIFF
TIMESTAMP TIMEZONE TO TOIDENTIFIER TRANSLATE
TRIM TRUNC TRUNCATE
UCASE UNION UPDATE UPPER USER
USERGROUP
VALUE VALUES VARCHAR VARGRAPHIC VARIANCE
WEEKOFYEAR WHERE WITH
YEAR
ZONED
ACTION ADD AND AS ASC
AT AUDIT
BEGIN BETWEEN BOTH BUFFERPOOL BY
CASCADE CAST CATALOG CLOSE CLUSTER
COMMENT COMMIT CONCAT CONNECT CREATE
CURRENT_DATE CURRENT_TIME CURSOR
DECLARE DESC DESCRIBE DISCONNECT DOMAIN
DROP
EDITPROC END ESCAPE EXCLUSIVE EXECUTE
EXTRACT
FALSE FETCH FOREIGN
GET GRANT
IDENTIFIED IN INDICATOR INNER IS
ISOLATION
JOIN
LANGUAGE LEADING LEVEL LIKE LOCAL
LOCK
MINUS MODE MODIFY
NATURAL NO NOWAIT NUMBER
OBID ON ONLY OPEN OPTIMIZE
OPTION OR OUTER
PCTFREE PRECISION PRIVILEGES PROCEDURE PUBLIC
RAW READ REFERENCES RELEASE RENAME
RESOURCE RESTRICT REVOKE ROLLBACK ROW
ROWNUM ROWS
SCHEMA SHARE SYNONYM SYSDATE
TABLESPACE TRAILING TRANSACTION TRIGGER TRUE
UID UNIQUE UNKNOWN USAGE USING
VALIDPROC VARCHAR2 VARYING VIEW
WHENEVER WORK WRITE
REVOKE <priv spec>,... FROM <grantee>,... [<cascade option>]
| REVOKE EXECUTE ON <db procedure> FROM <grantee>,...
ROLLBACK [WORK] [KEEP <lock statement>]
<row lock spec> ::=
<row spec>...
<row spec> ::=
ROW <table name> KEY <key spec>,...
| ROW <table name> CURRENT OF <result table name>
<rowno column> ::=
ROWNO [<result column name>]
| <result column name> = ROWNO
ROWNO < <rowno spec>
| ROWNO <= <rowno spec>
<rowno spec> ::=
<search expression>, <result expression>
| <search condition> OR <boolean term>
<seconds> ::=
<select column> ::=
<select direct statement: positioned> ::=
SELECT DIRECT <select column>,...
INTO <parameter spec>,...
FROM <table name>
WHERE CURRENT OF <result table name>
<select direct statement: searched> ::=
SELECT DIRECT <select column>,...
INTO <parameter spec>,...
FROM <table name>
KEY <key spec>,...
<select ordered format1: positioned> ::=
SELECT <dir1 spec> <select column>,...
INTO <parameter spec>,...
FROM <table name>
WHERE CURRENT OF <result table name>
| SELECT <dir1 spec> <select column>,...
INTO <parameter spec>,...
FROM <table name>
WHERE CURRENT OF <result table name>
<select ordered format1: searched> ::=
SELECT <dir1 spec> <select column>,...
INTO <parameter spec>,...
FROM <table name>
<select ordered format2: positioned> ::=
SELECT <dir2 spec> <select column>,...
INTO <parameter spec>,...
FROM <table name>
WHERE CURRENT OF <result table name>
<select ordered format2: searched> ::=
SELECT <dir2 spec> <select column>,...
INTO <parameter spec>,...
FROM <table name>
<select ordered statement: positioned> ::=
<select ordered format1: positioned>
| <select ordered format2: positioned>
<select ordered statement: searched> ::=
<select ordered format1: searched>
| <select ordered format2: searched>
[FOR REUSE]
<serverdb name> ::=
COUNT
| MAX
| MIN
| SUM
| AVG
| STDDEV
| VARIANCE
COUNT (*)
<column name> = <extended value spec>
<column name> = <extended expression>
<sign> ::=
+
| -
<first character> [<identifier tail character>...]
SELECT [<distinct spec>] <select column>,...
INTO <parameter spec>,...
FROM <table spec>,...
<some> ::=
SOME
| ANY
<sort option> ::=
ASC
| DESC
<sort spec> ::=
<unsigned integer> [<sort option>]
| <expression> [<sort option>]
<expression> [NOT] SOUNDS [LIKE] <expression>
<source table> ::=
<source user> ::=
Every character except <digit>, <letter>, <extended letter>,
<hex digit> <character>, <language specific character> and the character
for the line end in a file.
VALUE ( <expression>, <expression>,... )
| GREATEST ( <expression>, <expression>,... )
| LEAST ( <expression>, <expression>,... )
| DECODE ( <check expression>,
[, <default expression> ] )
<special identifier character>...
<special identifier character> ::=
Any character.
<sql statement> ::=
| <create snapshot log statement>
| <drop snapshot log statement>
| <create usergroup statement>
| <clear snapshot log statement>
| <select direct statement: searched>
| <select direct statement: positioned>
| <select ordered statement: searched>
| <select ordered statement: positioned>
| <update statistics statement>
<sqlmode spec> ::=
ADABAS
| ANSI
| DB2
| ORACLE
<stamp column> ::=
STAMP [<result column name>]
| <result column name> = STAMP
<string spec> || <string spec>
| <string spec> & <string spec>
| SUBSTR ( <string spec>, <expression>[, <expression>] )
| LFILL ( <string spec>, <string literal>
[,<unsigned integer> ] )
| RFILL ( <string spec>, <string literal>
[,<unsigned integer> ] )
| LPAD ( <string spec>, <expression>, <string literal>
[,<unsigned integer> ] )
| RPAD ( <string spec>, <expression>, <string literal>
[,<unsigned integer> ] )
| TRIM ( <string spec>[, <string spec> ] )
| LTRIM ( <string spec>[, <string spec> ] )
| RTRIM ( <string spec>[, <string spec> ] )
| EXPAND ( <string spec>, <unsigned integer> )
| UPPER ( <string spec> )
| LOWER ( <string spec> )
| INITCAP ( <string spec> )
| REPLACE ( <string spec>, <string spec>[, <string spec> ] )
| TRANSLATE ( <string spec>, <string spec>, <string spec> )
| MAPCHAR ( <string spec>[, <unsigned integer> ]
[, <mapchar set name> ] )
| ALPHA ( <string spec>[, <unsigned integer> ] )
| ASCII ( <string spec> )
| EBCDIC ( <string spec> )
| SOUNDEX ( <string spec> )
<string literal> ::=
''
| '<character>'...
<string spec> ::=
<subquery> ::=
SUBTRANS BEGIN
| SUBTRANS END
| SUBTRANS ROLLBACK
<synonym name> ::=
<table columns> ::=
*
| <table name>.*
| <reference name>.*
<table description element> ::=
| <referential constraint definition>
TABLE <table name>,...
<table name> ::=
<table option> ::=
WITH REPLICATION
| IGNORE ROLLBACK
ALL [PRIV[ILEGES]]
| <privilege>,...
<table spec> ::=
<table name> [<reference name>]
| <result table name> [<reference name>]
| (<query expression>) [<reference name>]
<term> ::=
<time function> ::=
ADDTIME ( <time or timestamp expression>, <time expression> )
| SUBTIME ( <time or timestamp expression>, <time expression> )
| TIMEDIFF ( <time or timestamp expression>,
<time or timestamp expression> )
| MAKETIME ( <hours>, <minutes>, <seconds> )
<time or timestamp expression> ::=
<token> ::=
<trigger name> ::=
COS ( <expression> )
| SIN ( <expression> )
| TAN ( <expression> )
| COT ( <expression> )
| COSH ( <expression> )
| SINH ( <expression> )
| TANH ( <expression> )
| ACOS ( <expression> )
| ASIN ( <expression> )
| ATAN ( <expression> )
| ATAN2 ( <expression>, <expression> )
| RADIANS ( <expression> )
| DEGREES ( <expression> )
<underscore> ::=
_
UNIQUE (<column name>,...)
UNLOCK <row lock spec> IN SHARE MODE
| UNLOCK <row lock spec> IN EXCLUSIVE MODE
| UNLOCK <row lock spec> IN SHARE MODE
<row lock spec> IN EXCLUSIVE MODE
| UNLOCK <row lock spec> OPTIMISTIC
<table name>.<column name> [<order spec>]
<digit>...
<update clause> ::=
FOR UPDATE [OF <column name>,...]
<update columns and values> ::=
SET <set update clause>,...
| (<column name>,...) VALUES (<extended value spec>,...)
UPDATE [OF] <table name> [<reference name>]
[KEY <key spec>,...]
[WHERE <search condition>]
| UPDATE [OF] <table name> [<reference name>]
WHERE CURRENT OF <result table name>
<update statistics statement> ::=
UPDATE STAT[ISTICS] COLUMN <table name>.<column name>
| UPDATE STAT[ISTICS] COLUMN (<column name>,...)
FOR <table name>
| UPDATE STAT[ISTICS] [<owner>.]<table name>
| UPDATE STAT[ISTICS] [<owner>.][<identifier>]*
<user mode> ::=
DBA
| RESOURCE
| STANDARD
<user name> ::=
<user spec> ::=
Each DB function defined by any user.
<usergroup mode> ::=
RESOURCE
| STANDARD
<usergroup name> ::=
<value spec> ::=
| NULL
| USER
| USERGROUP
| LOCALSYSDBA
| SYSDBA [(<user name>)]
| SYSDBA [(<usergroup name>)]
| DATE
| TIME
| TIMESTAMP
| TIMEZONE
| TRUE
| FALSE
<wait option> ::=
(WAIT)
| (NOWAIT)
<where clause> ::=
WHERE <search condition>
<with lock info> ::=
[(NOWAIT)] [EXCLUSIVE] [ISOLATION LEVEL <unsigned integer>]
| [(NOWAIT)] OPTIMISTIC [ISOLATION LEVEL <unsigned integer>]
