(Contents)

Syntax

<add definition> ::=

ADD <column definition>,...

| ADD (<column definition>,...)

<alias name> ::=

<identifier>

<all function> ::=

<set function name> ( [ALL] <expression> )

<alter table statement> ::=

ALTER TABLE <table name> <add definition>

| ALTER TABLE <table name> <modify definition>

<arithmetic expression> ::=

<term>

| <arithmetic expression> + <term>

| <arithmetic expression> - <term>

| <datetime expression> - <datetime expression>

<arithmetic function> ::=

TRUNC ( <expression>[, <expression>] )

| ROUND ( <expression>[, <expression>] )

| CEIL ( <expression> )

| FLOOR ( <expression> )

| SIGN ( <expression> )

| ABS ( <expression> )

| POWER ( <expression>, <expression> )

| EXP ( <expression> )

| SQRT ( <expression> )

| LN ( <expression> )

| LOG ( <expression>, <expression> )

| MOD ( <expression>, <expression> )

| LENGTH ( <expression> )

| VSIZE ( <expression> )

| INSTR ( <string spec>, <string spec>

[,<expression>[, <expression>] ] )

| ASCII ( <expression> )

<between predicate> ::=

<expression> [NOT] BETWEEN <expression> AND <expression>

<boolean factor> ::=

[NOT] <boolean primary>

<boolean primary> ::=

<predicate>

| (<search condition>)

<boolean term> ::=

<boolean factor>

| <boolean term> AND <boolean factor>

<cache spec> ::=

CACHE

| NOCACHE

<character> ::=

<digit>

| <letter>

| <extended letter>

| <hex digit>

| <language specific character>

| <special character>

<check expression> ::=

<expression>

<close statement> ::=

CLOSE <result table name>

<column attributes> ::=

[<default spec>]

[ NULL [CONSTRAINT <constraint name>] ]

[ NOT NULL [CONSTRAINT <constraint name>] ]

[ UNIQUE [CONSTRAINT <constraint name>] ]

[ PRIMARY KEY [CONSTRAINT <constraint name>] ]

[ REFERENCES <table name> [(<column name>)] ]

[<constraint definition>]

<column comment> ::=

<column name> IS <string literal>

<column definition> ::=

<column name> <data type> <column attributes>

<column name> ::=

<identifier>

<column spec> ::=

<column name>

| <table name>.<column name>

| <reference name>.<column name>

| <result table name>.<column name>

<comment statement> ::=

COMMENT ON TABLE <table name> IS <string literal>

| COMMENT ON COLUMN

<table name>.<column name> IS <string literal>

| COMMENT ON <table name> ( <column comment>,... )

<commit statement> ::=

COMMIT [WORK]

<comp op> ::=

< | > | <> | != | = | <= | >=

| ¬= | ¬< | ¬> for a computer with the code type EBCDIC

| ~= | ~< | ~> for a computer with the code type ASCII

<comparison predicate> ::=

<expression> <comp op> <expression>

| <expression> <comp op> <subquery>

| <expression list> <equal or not> (<expression list>)

| <expression list> <equal or not> <subquery>

<connect statement> ::=

CONNECT <user spec>

IDENTIFIED BY <password spec>

[SQLMODE <sqlmode spec>]

[<isolation spec>]

[TIMEOUT <unsigned integer>]

[CACHELIMIT <unsigned integer>]

[TERMCHAR SET <termchar set name>]

<constraint definition> ::=

[CONSTRAINT <constraint name>] CHECK (<search condition>)

<constraint name> ::=

<identifier>

<conversion function> ::=

TO_NUMBER ( <string spec>[, <number format> ] )

| CHR ( <expression> )

| RAWTOHEX ( <expression> )

| HEXTORAW ( <expression> )

| TO_CHAR ( <expression>[, <date or number format> ] )

| TO_DATE ( <expression>[, <date format> ] )

<create index statement> ::=

CREATE [UNIQUE] INDEX <index spec>

[<oracle option>]

<create sequence statement> ::=

CREATE SEQUENCE [<owner>.]<sequence name>

[INCREMENT BY <integer>]

[START WITH <integer>]

[<maxvalue spec>]

[<minvalue spec]

[<cycle spec]

[<cache spec>]

[<order spec>]

<create snapshot log statement> ::=

CREATE SNAPSHOT LOG ON <table name> [<oracle option>]

<create snapshot statement> ::=

CREATE SNAPSHOT <table name>

[<oracle snapshot options>] [<refresh spec>]

AS <query expression>

<create synonym statement> ::=

CREATE SYNONYM [<owner>.]<synonym name> FOR <table name>

<create table statement> ::=

CREATE TABLE <table name> [(<table description element>,...)]

[<oracle option> ...] [AS <query expression>]

<create user statement> ::=

CREATE USER <user name> IDENTIFIED BY <password>

[<oracle user option> ...]

<create view statement> ::=

CREATE [OR REPLACE] VIEW <table name> [(<alias name>,...)]

AS <query expression>

[WITH CHECK OPTION]

[CONSTRAINT <constraint name>]

<cycle spec> ::=

CYCLE

| NOCYCLE

<data type> ::=

CHAR [(<unsigned integer>)]

| VARCHAR [(<unsigned integer>)]

| LONG [RAW]

| NUMBER [(<unsigned integer> [,<unsigned integer>])]

| NUMBER [(* [,<unsigned integer>])]

| DATE

| RAW [(<unsigned integer>)]

<date and time expression> ::=

<expression>

<date and time function> ::=

ADD_MONTHS ( <date and time expression> , <expression> )

| MONTHS_BETWEEN ( <date and time expression> ,

<date and time expression> )

| LAST_DAY ( <date and time expression> )

| NEXT_DAY ( <date and time expression>, <string spec> )

| NEW_TIME ( <date and time expression>,

<source timezone spec>,

<dest timezone spec> )

| ROUND ( <date and time expression>

[, <trunc and round format> ] )

| TRUNC ( <date and time expression>

[, <trunc and round format> ] )

<date format> ::=

see <conversion function> in chapter 3, Common Elements

<date or number format> ::=

<number format>

| <date format>

<datetime expression> ::=

<datetime primary>

| <datetime expression> + <factor>

| <datetime expression> - <factor>

| <factor> + <datetime expression>

<datetime primary> ::=

<column spec>

| <function spec>

| (<datetime expression>)

<declare cursor statement> ::=

DECLARE <result table name> CURSOR FOR <select statement>

<default expression> ::=

<expression>

<default spec> ::=

DEFAULT <expression>

<delete statement> ::=

DELETE FROM <table name> [<reference name>]

[WHERE <search condition>]

| DELETE FROM <table name> [<reference name>]

WHERE CURRENT OF <result table name>

<delimiter token> ::=

( | ) | , | . | + | - | * | /

| < | > | <> | != | = | <= | >=

| ¬= | ¬< | ¬> for a computer with the code type EBCDIC

| ~= | ~< | ~> for a computer with the code type ASCII

<derived column> ::=

<expression> [<result column name>]

<dest timezone spec> ::=

<timezone spec>

<digit> ::=

0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

<distinct function> ::=

<set function name> ( DISTINCT <expression> )

<distinct spec> ::=

DISTINCT

| ALL

<double quotes> ::=

"

<drop index statement> ::=

DROP INDEX <index name> [ON <table name>]

<drop sequence statement> ::=

DROP SEQUENCE [<owner>.]<sequence name>

<drop snapshot statement> ::=

DROP SNAPSHOT <table name>

<drop snapshot log statement> ::=

DROP SNAPSHOT LOG ON <table name>

<drop synonym statement> ::=

DROP SYNONYM [<owner>.]<synonym name>

<drop table statement> ::=

DROP TABLE <table name> [CASCADE CONSTRAINTS]

<drop user statement> ::=

DROP USER <user name> [<cascade option>]

<drop view statement> ::=

DROP VIEW <table name>

<equal or not> ::=

=

| <>

| ¬= for a computer with the code type EBCDIC

| ~= for a computer with the code type ASCII

<exists predicate> ::=

EXISTS <subquery>

<exponent> ::=

[<sign>] [ [<digit>] <digit>] <digit>

<expression> ::=

<arithmetic expression>

| <datetime expression>

<expression list> ::=

(<expression>,...)

<extended letter> ::=

# | @ | $

<factor> ::=

[<sign>] <primary>

<fetch statement> ::=

FETCH <result table name> INTO <parameter spec>,...

<first character> ::=

<letter>

| <extended letter>

| <language specific character>

<first password character> ::=

<letter>

| <extended letter>

| <language specific character>

| <digit>

<fixed point literal> ::=

[<sign>] <unsigned integer>[.<unsigned integer>]

| [<sign>] <unsigned integer>.

| [<sign>] .<unsigned integer>

<floating point literal> ::=

<mantissa>E<exponent>

| <mantissa>e<exponent>

<from clause> ::=

FROM <table spec>,...

<function spec> ::=

<arithmetic function>

| <trigonometric function>

| <string function>

| <date and time function>

| <special function>

| <conversion function>

| <userdefined function>

<grant statement> ::=

GRANT <table privileges> ON <table name>

TO <grantee>,... [WITH GRANT OPTION]

<grantee> ::=

PUBLIC

| <user name>

| <usergroup name>

<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> <hex digit>

| <hex digit seq> <hex digit> <hex digit>

<hex literal> ::=

x''

| X''

| x'<hex digit seq>'

| X'<hex digit seq>'

| '<hex digit seq>'

<identifier> ::=

<simple identifier>

| <double quotes>.token.<special identifier>.token.<double quotes>

<identifier tail character> ::=

<letter>

| <extended letter>

| <language specific character>

| <digit>

| <underscore>

<in predicate> ::=

<expression> [NOT] IN <subquery>

| <expression> [NOT] IN (<expression>,...)

| <expression list> [NOT] IN <subquery>

| <expression list> [NOT] IN (<expression list>,...)

<index clause> ::=

<column name> [<order spec>]

<index name> ::=

<identifier>

<index spec> ::=

<index name> ON <table name> ( <index clause>,... )

<indicator name> ::=

<parameter name>

<insert columns and values> ::=

[(<column name>,...)] VALUES (<expression>,...)

| [(<column name>,...)] <query expression>

<insert statement> ::=

INSERT INTO <table name> <insert columns and values>

<isolation spec> ::=

ISOLATION LEVEL <unsigned integer>

<join predicate> ::=

<expression> [<outer join indicator>] <comp op> <expression>

| <expression> <comp op> <expression> [<outer join indicator>]

<key definition> ::=

[CONSTRAINT <constraint name>] PRIMARY KEY (<column name>,...)

[USING INDEX <oracle option>

<key word> ::=

<not restricted key word>

| <restricted key word>

| <reserved 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

<like expression> ::=

<expression>

| '<pattern element>...'

<like predicate> ::=

<expression> [NOT] LIKE <like expression>

[ESCAPE <expression>]

<literal> ::=

<string literal>

| <numeric literal>

<lock spec> ::=

SHARE

| ROW SHARE

| SHARE UPDATE

| EXCLUSIVE

| ROW EXCLUSIVE

| SHARE ROW EXCLUSIVE

<lock statement> ::=

LOCK TABLE <table name>,... IN <lock spec> MODE [NOWAIT]

<mantissa> ::=

<fixed point literal>

<match char> ::=

Every character except

%, X'1F', <underscore>, X'1E'.

<match set> ::=

<underscore>

| X'1E'

| <match char>

<match string> ::=

%

| X'1F'

<maxvalue spec> ::=

MAXVALUE <integer>

| NOMAXVALUE

<minvalue spec> ::=

MINVALUE <integer>

| NOMINVALUE

<modify definition> ::=

MODIFY (<column name> <data type>)

<not restricted key word> ::=

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

<number format> ::=

see <conversion function> in chapter 3, Common Elements

<numeric literal> ::=

<fixed point literal>

| <floating point literal>

<open cursor statement> ::=

OPEN <result table name>

<oracle ddl statement> ::=

<create tablespace statement>

| <create rollback segment statement>

| <create public rollback segment statement>

<oracle option> ::=

PCTFREE <unsigned integer>

| PCTUSED <unsigned integer>

| INITTRANS <unsigned integer>

| MAXTRANS <unsigned integer>

| TABLESPACE <identifier>

| STORAGE <storage clause>

<oracle snapshot options> ::=

<oracle option>

| CLUSTER <identifier> (<column name>,...)

<oracle user option> ::=

DEFAULT TABLESPACE <tablespace>

| TEMPORARY TABLESPACE <tablespace>

| QUOTA <unsigned integer [ K | M ] ON <tablespace>

| QUOTA UNLIMITED

| PROFILE <identifier>

<order and update clause> ::=

<order clause> [<update clause>]

| <update clause> [<order clause>]

<order clause> ::=

ORDER BY <sort spec>,...

<order sequence spec> ::=

ORDER

| NOORDER

<order spec> ::=

ASC

| DESC

<outer join indicator> ::=

(+)

<owner> ::=

<user name>

| <usergroup name>

<parameter name> ::=

:<identifier>

<parameter spec> ::=

<parameter name> [<indicator name>]

<password> ::=

<identifier>

| <first password character> [<identifier tail character>...]

<password spec> ::=

<parameter name>

<pattern element> ::=

<match string>

| <match set>

<predicate> ::=

<between predicate>

| <comparison predicate>

| <exists predicate>

| <in predicate>

| <join predicate>

| <like predicate>

| <null predicate>

| <quantified predicate>

| <rownum predicate>

<primary> ::=

<value spec>

| <column spec>

| <function spec>

| <set function spec>

| (<arithmetic expression>)

<privilege> ::=

INSERT

| UPDATE [(<column name>,...)]

| SELECT

| DELETE

| INDEX

| ALTER

| REFERENCES [(<column name>,...)]

<quantified predicate> ::=

<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> ::=

<query primary>

| <query expression> UNION <query primary>

| <query expression> INTERSECT <query primary>

| <query expression> MINUS <query primary>

<query primary> ::=

<query spec>

| (<query expression>)

<query spec> ::=

SELECT [<distinct spec>] <select column>,...

<table expression>

<query statement> ::=

<declare cursor statement>

<reference name> ::=

<identifier>

<referenced column> ::=

<column name>

<referenced table> ::=

<table name>

<referencing column> ::=

<column name>

<referential constraint definition> ::=

[CONSTRAINT <constraint name>]

FOREIGN KEY (<referencing column>,...)

REFERENCES <referenced table> [(<referenced column>,...)]

[ON DELETE CASCADE]

<referential constraint name> ::=

<identifier>

<refresh kind> ::=

FAST

| COMPLETE

| FORCE

<refresh spec> ::=

REFRESH [<refresh kind>]

[START WITH <date and time expression>]

[NEXT <date and time expression>]

<regular token> ::=

<literal>

| <key word>

| <identifier>

| <parameter name>

<release statement> ::=

COMMIT [WORK] RELEASE

| ROLLBACK [WORK] RELEASE

<reserved key word> ::=

ADD ALL ALTER AND ANY

AS ASC AUDIT

BETWEEN BY

CHAR CHECK CLUSTER COLUMN COMMENT

CONNECT CREATE CURRENT

DATE DECIMAL DEFAULT DELETE DESC

DISTINCT DROP

EXCLUSIVE EXISTS

FLOAT FOR FROM

GRANT GROUP

HAVING

IDENTIFIED IN INDEX INSERT INTEGER

INTERSECT INTO IS

LEVEL LIKE LOCK LONG

MINUS MODE MODIFY

NOT NOWAIT NULL NUMBER

OF ON OPTION OR ORDER

PCTFREE PRIVILEGES PUBLIC

RAW RENAME RESOURCE REVOKE ROW

ROWID ROWNUM ROWS

SELECT SET SHARE SMALLINT SYNONYM

SYSDATE

TABLE TO TRIGGER

UID UNION UNIQUE UPDATE USER

VALUES VARCHAR VARCHAR2 VIEW

WHENEVER WHERE WITH

<restricted key word> ::=

ABS ACOS ACTION ADDDATE ADDTIME

ALPHA ASCII ASIN AT ATAN

ATAN2 AVG

BEGIN BINARY BIT BOOLEAN BOTH

BUFFERPOOL BYTE

CASCADE CAST CATALOG CEIL CEILING

CHARACTER CHR CLOSE COMMIT CONCAT

CONNECTED CONSTRAINT COS COSH COT

COUNT CURDATE CURRENT_DATE CURRENT_TIME CURSOR

CURTIME

DATABASE DATEDIFF DAY DAYNAME DAYOFMONTH

DAYOFWEEK DAYOFYEAR DBYTE DEC DECLARE

DECODE DEGREES DESCRIBE DIGITS DIRECT

DISCONNECT DOMAIN DOUBLE

EBCDIC EDITPROC END ENTRY ENTRYDEF

ESCAPE EXCEPT EXECUTE EXP EXPAND

EXTRACT

FALSE FETCH FIRST FIXED FLOOR

FOREIGN

GET GRAPHIC GREATEST

HEX HOUR

IFNULL IGNORE INDICATOR INITCAP INNER

INT ISOLATION

JOIN

KEY

LANGUAGE LAST LCASE LEADING LEAST

LEFT LENGTH LFILL LINK LIST

LN LOCAL LOCALSYSDBA LOG LOG10

LOWER LPAD LTRIM

MAKEDATE MAKETIME MAPCHAR MAX MICROSECOND

MIN MINUTE MONTH MONTHNAME

NATURAL NEXT NO NOROUND NOW

NUM NUMERIC

OBID OBJECT ONLY OPEN OPTIMIZE

OUTER

PACKED PI POWER PRECISION PREV

PRIMARY PROCEDURE

RADIANS READ REAL REFERENCED REFERENCES

REJECT RELEASE REPLACE RESTRICT RFILL

RIGHT ROLLBACK ROUND ROWNO RPAD

RTRIM

SCHEMA SECOND SELUPD SHOW SIGN

SIN SINH SOME SOUNDEX SQRT

STAMP STATISTICS STDDEV SUBDATE SUBSTR

SUBTIME SUM SYSDBA

TABLESPACE TAN TANH TIME TIMEDIFF

TIMESTAMP TIMEZONE TOIDENTIFIER TRAILING TRANSACTION

TRANSLATE TRIM TRUE TRUNC TRUNCATE

UCASE UNKNOWN UPPER USAGE USERGROUP

USING

VALIDPROC VALUE VARGRAPHIC VARIANCE VARYING

WEEKOFYEAR WORK WRITE

YEAR

ZONED

<result column name> ::=

<identifier>

<result expression> ::=

<expression>

<result table name> ::=

<identifier>

<revoke statement> ::=

REVOKE <table privileges> ON <table name> FROM <grantee>,...

<rollback statement> ::=

ROLLBACK [WORK]

<rollback to statement> ::=

ROLLBACK TO [SAVEPOINT] <savepoint name>

<rownum column> ::=

ROWNUM [<result column name>]

<rownum predicate> ::=

ROWNUM < <rownum spec>

| ROWNUM <= <rownum spec>

<rownum spec> ::=

<unsigned integer>

| <parameter spec>

<savepoint name> ::=

<identifier>

<savepoint statement> ::=

SAVEPOINT <savepoint name>

<search and result spec> ::=

<search expression>, <result expression>

<search condition> ::=

<boolean term>

| <search condition> OR <boolean term>

<search expression> ::=

<expression>

<select column> ::=

<table columns>

| <derived column>

| <rownum column>

<select statement> ::=

<query expression>

[<order and update clause>]

<sequence name> ::=

<identifier>

<set function name> ::=

COUNT

| MAX

| MIN

| SUM

| AVG

| STDDEV

| VARIANCE

<set function spec> ::=

COUNT (*)

| <distinct function>

| <all function>

<set update clause> ::=

<column name> = <expression>

| <column name> = <subquery>

| <column name>,... = (<expression>,...)

<sign> ::=

+

| -

<simple identifier> ::=

<first character> [<identifier tail character>...]

<single select statement> ::=

SELECT [<distinct spec>] <select column>,...

INTO <parameter spec>,...

FROM <table spec>,...

[<where clause>]

[<having clause>]

[<lock option>]

<some> ::=

SOME

| ANY

<sort option> ::=

ASC

| DESC

<sort spec> ::=

<unsigned integer> [<sort option>]

| <expression> [<sort option>]

<source timezone spec> ::=

<timezone spec>

<special character> ::=

Every character except <digit>, <letter>, <extended letter>,

<hex digit> <character>, <language specific character> and the character

for the line end in a file.

<special function> ::=

NVL ( <expression>, <expression> )

| GREATEST ( <expression>, <expression>,... )

| LEAST ( <expression>, <expression>,... )

| DECODE ( <check expression>,

<search and result spec>,...

[, <default expression> ] )

<special identifier> ::=

<special identifier character>...

<special identifier character> ::=

Any character.

<sql statement> ::=

<create table statement>

| <drop table statement>

| <alter table statement>

| <create synonym statement>

| <drop synonym statement>

| <create snapshot statement>

| <drop snapshot statement>

| <create snapshot log statement>

| <drop snapshot log statement>

| <create view statement>

| <drop view statement>

| <create index statement>

| <drop index statement>

| <create sequence statement>

| <drop sequence statement>

| <oracle ddl statement>

| <comment statement>

| <create user statement>

| <drop user statement>

| <grant statement>

| <revoke statement>

| <insert statement>

| <update statement>

| <delete statement>

| <truncate statement>

| <query statement>

| <open cursor statement>

| <fetch statement>

| <close statement>

| <single select statement>

| <connect statement>

| <commit statement>

| <rollback statement>

| <rollback to statement>

| <savepoint statement>

| <lock statement>

| <release statement>

<sqlmode spec> ::=

ADABAS

| ANSI

| DB2

| ORACLE

<storage clause> ::=

([INITIAL <unsigned integer>] [NEXT <unsigned integer>]

[MINEXTENTS <unsigned integer>]

[MAXEXTENTS <unsigned integer>]

[PCTINCREASE <unsigned integer>])

<storage reuse spec> ::=

DROP STORAGE

| REUSE STORAGE

<string function> ::=

<string spec> || <string spec>

| CONCAT ( <string spec>, <string spec> )

| SUBSTR ( <string spec>, <expression>[, <expression>] )

| LPAD ( <string spec>, <unsigned integer>

[, <string literal> ] )

| RPAD ( <string spec>, <unsigned integer>

[, <string literal> ] )

| LTRIM ( <string spec>[, <string spec> ] )

| RTRIM ( <string spec>[, <string spec> ] )

| UPPER ( <string spec> )

| LOWER ( <string spec> )

| INITCAP ( <string spec> )

| REPLACE ( <string spec>, <string spec>[, <string spec> ] )

| TRANSLATE ( <string spec>, <string spec>, <string spec> )

| SOUNDEX ( <string spec> )

<string literal> ::=

''

| '<character>'...

| <hex literal>

<string spec> ::=

<expression>

<subquery> ::=

(<query expression>)

<synonym name> ::=

<identifier>

<table columns> ::=

*

| <table name>.*

| <reference name>.*

<table description element> ::=

<column definition>

| <constraint definition>

| <key definition>

| <referential constraint definition>

| <unique definition>

<table expression> ::=

<from clause>

[<where clause>]

[<group clause> [<having clause>] ]

<table name> ::=

[<owner>.]<identifier>

<table privileges> ::=

ALL [PRIVILEGES]

| <privilege>,...

<table spec> ::=

<table name> [<reference name>]

<term> ::=

<factor>

| <term> * <factor>

| <term> / <factor>

<termchar set name> ::=

<identifier>

<timezone spec> ::=

'AST'

| 'ADT'

| 'BST'

| 'BDT'

| 'CST'

| 'CDT'

| 'EST'

| 'EDT'

| 'GMT'

| 'HST'

| 'HDT'

| 'MST'

| 'MDT'

| 'NST'

| 'PST'

| 'PDT'

| 'YST'

| 'YDT'

<token> ::=

<regular token>

| <delimiter token>

<trigonometric function> ::=

COS ( <expression> )

| SIN ( <expression> )

| TAN ( <expression> )

| COSH ( <expression> )

| SINH ( <expression> )

| TANH ( <expression> )

<trunc and round format> ::=

see <date and time function> in chapter 3, Common Elements

<truncate statement> ::=

TRUNCATE <table name> [<storage reuse spec>]

<underscore> ::=

_

<unique definition> ::=

[CONSTRAINT <constraint name>] UNIQUE (<column name>,...)

[USING INDEX <oracle option>]

<unsigned integer> ::=

<digit>...

<update clause> ::=

FOR UPDATE OF <column name>,... [NOWAIT]

<update columns and values> ::=

SET <set update clause>,...

<update statement> ::=

UPDATE <table name> [<reference name>]

<update columns and values>

[WHERE <search condition>]

| UPDATE <table name> [<reference name>]

<update columns and values>

WHERE CURRENT OF <result table name>

<user name> ::=

<identifier>

<user spec> ::=

<parameter name>

| <user name>

<userdefined function> ::=

Each DB function defined by any user.

<usergroup name> ::=

<identifier>

<value spec> ::=

<literal>

| <parameter spec>

| NULL

| USER

| [<owner>.]<sequence name>.NEXTVAL

| [<owner>.]<sequence name>.CURRVAL

| SYSDATE

| UID

<where clause> ::=

WHERE <search condition>


(Contents)