This appendix contains the following sections:
This appendix lists words that have a special meaning to Oracle. Each word plays a specific role in the context in which it appears. For example, in an INSERT
statement, the reserved word INTO
introduces the tables to which rows will be added. But, in a FETCH
or SELECT
statement, the reserved word INTO
introduces the output host variables to which column values will be assigned.
The following words are reserved by Oracle. That is, they have a special meaning to Oracle and so cannot be redefined. For this reason, you cannot use them to name database objects such as columns, tables, or indexes.
Oracle Reserved Words | |||
---|---|---|---|
ACCESS | ELSE | MODIFY | START |
ADD | EXCLUSIVE | NOAUDIT | SELECT |
ALL | EXISTS | NOCOMPRESS | SESSION |
ALTER | FILE | NOT | SET |
AND | FLOAT | NOTFOUND | SHARE |
ANY | FOR | NOWAIT | SIZE |
ARRAYLEN | FROM | NULL | SMALLINT |
AS | GRANT | NUMBER | SQLBUF |
ASC | GROUP | OF | SUCCESSFUL |
AUDIT | HAVING | OFFLINE | SYNONYM |
BETWEEN | IDENTIFIED | ON | SYSDATE |
BY | IMMEDIATE | ONLINE | TABLE |
CHAR | IN | OPTION | THEN |
CHECK | INCREMENT | OR | TO |
CLUSTER | INDEX | ORDER | TRIGGER |
COLUMN | INITIAL | PCTFREE | UID |
COMMENT | INSERT | PRIOR | UNION |
COMPRESS | INTEGER | PRIVILEGES | UNIQUE |
CONNECT | INTERSECT | PUBLIC | UPDATE |
CREATE | INTO | RAW | USER |
CURRENT | IS | RENAME | VALIDATE |
DATE | LEVEL | RESOURCE | VALUES |
DECIMAL | LIKE | REVOKE | VARCHAR |
DEFAULT | LOCK | ROW | VARCHAR2 |
DELETE | LONG | ROWID | VIEW |
DESC | MAXEXTENTS | ROWLABEL | WHENEVER |
DISTINCT | MINUS | ROWNUM | WHERE |
DROP | MODE | ROWS | WITH |
The following words also have a special meaning to Oracle but are not reserved words and so can be redefined. However, some might eventually become reserved words.
Oracle Keywords | |||
---|---|---|---|
ADMIN | CURSOR | FOUND | MOUNT |
AFTER | CYCLE | FUNCTION | NEXT |
ALLOCATE | DATABASE | GO | NEW |
ANALYZE | DATAFILE | GOTO | NOARCHIVELOG |
ARCHIVE | DBA | GROUPS | NOCACHE |
ARCHIVELOG | DEC | INCLUDING | NOCYCLE |
AUTHORIZATION | DECLARE | INDICATOR | NOMAXVALUE |
AVG | DISABLE | INITRANS | NOMINVALUE |
BACKUP | DISMOUNT | INSTANCE | NONE |
BEGIN | DOUBLE | INT | NOORDER |
BECOME | DUMP | KEY | NORESETLOGS |
BEFORE | EACH | LANGUAGE | NORMAL |
BLOCK | ENABLE | LAYER | NOSORT |
BODY | END | LINK | NUMERIC |
CACHE | ESCAPE | LISTS | OFF |
CANCEL | EVENTS | LOGFILE | OLD |
CASCADE | EXCEPT | MANAGE | ONLY |
CHANGE | EXCEPTIONS | MANUAL | OPEN |
CHARACTER | EXEC | MAX | OPTIMAL |
CHECKPOINT | EXPLAIN | MAXDATAFILES | OWN |
CLOSE | EXECUTE | MAXINSTANCES | PACKAGE |
COBOL | EXTENT | MAXLOGFILES | PARALLEL |
COMMIT | EXTERNALLY | MAXLOGHISTORY | PCTINCREASE |
COMPILE | FETCH | MAXLOGMEMBERS | PCTUSED |
CONSTRAINT | FLUSH | MAXTRANS | PLAN |
CONSTRAINTS | FREELIST | MAXVALUE | PLI |
CONTENTS | FREELISTS | MIN | PRECISION |
CONTINUE | FORCE | MINEXTENTS | PRIMARY |
CONTROLFILE | FOREIGN | MINVALUE | PRIVATE |
COUNT | FORTRAN | MODULE | PROCEDURE |
PROFILE | SAVEPOINT | SQLSTATE | TRACING |
QUOTA | SCHEMA | STATEMENT_ID | TRANSACTION |
READ | SCN | STATISTICS | TRIGGERS |
REAL | SECTION | STOP | TRUNCATE |
RECOVER | SEGMENT | STORAGE | UNDER |
REFERENCES | SEQUENCE | SUM | UNLIMITED |
REFERENCING | SHARED | SWITCH | UNTIL |
RESETLOGS | SNAPSHOT | SYSTEM | USE |
RESTRICTED | SOME | TABLES | USING |
REUSE | SORT | TABLESPACE | WHEN |
ROLE | SQL | TEMPORARY | WRITE |
ROLES | SQLCODE | THREAD | WORK |
ROLLBACK | SQLERROR | TIME |
The following PL/SQL keywords may require special treatment when used in embedded SQL statements.
PL/SQL Reserved Words | |||
---|---|---|---|
ABORT | BETWEEN | CRASH | DIGITS |
ACCEPT | BINARY_INTEGER | CREATE | DISPOSE |
ACCESS | BODY | CURRENT | DISTINCT |
ADD | BOOLEAN | CURRVAL | DO |
ALL | BY | CURSOR | DROP |
ALTER | CASE | DATABASE | ELSE |
AND | CHAR | DATA_BASE | ELSIF |
ANY | CHAR_BASE | DATE | END |
ARRAY | CHECK | DBA | ENTRY |
ARRAYLEN | CLOSE | DEBUGOFF | EXCEPTION |
AS | CLUSTER | DEBUGON | EXCEPTION_INIT |
ASC | CLUSTERS | DECLARE | EXISTS |
ASSERT | COLAUTH | DECIMAL | EXIT |
ASSIGN | COLUMNS | DEFAULT | FALSE |
AT | COMMIT | DEFINITION | FETCH |
AUTHORIZATION | COMPRESS | DELAY | FLOAT |
AVG | CONNECT | DELETE | FOR |
BASE_TABLE | CONSTANT | DELTA | FORM |
BEGIN | COUNT | DESC | FROM |
FUNCTION | NEW | RELEASE | SUM |
GENERIC | NEXTVAL | REMR | TABAUTH |
GOTO | NOCOMPRESS | RENAME | TABLE |
GRANT | NOT | RESOURCE | TABLES |
GROUP | NULL | RETURN | TASK |
HAVING | NUMBER | REVERSE | TERMINATE |
IDENTIFIED | NUMBER_BASE | REVOKE | THEN |
IF | OF | ROLLBACK | TO |
IN | ON | ROWID | TRUE |
INDEX | OPEN | ROWLABEL | TYPE |
INDEXES | OPTION | ROWNUM | UNION |
INDICATOR | OR | ROWTYPE | UNIQUE |
INSERT | ORDER | RUN | UPDATE |
INTEGER | OTHERS | SAVEPOINT | USE |
INTERSECT | OUT | SCHEMA | VALUES |
INTO | PACKAGE | SELECT | VARCHAR |
IS | PARTITION | SEPARATE | VARCHAR2 |
LEVEL | PCTFREE | SET | VARIANCE |
LIKE | POSITIVE | SIZE | VIEW |
LIMITED | PRAGMA | SMALLINT | VIEWS |
LOOP | PRIOR | SPACE | WHEN |
MAX | PRIVATE | SQL | WHERE |
MIN | PROCEDURE | SQLCODE | WHILE |
MINUS | PUBLIC | SQLERRM | WITH |
MLSLABEL | RAISE | START | WORK |
MOD | RANGE | STATEMENT | XOR |
MODE | REAL | STDDEV | |
NATURAL | RECORD | SUBTYPE |
Table B-1 contains a list of namespaces that are reserved by Oracle. The initial characters of function names in Oracle libraries are restricted to the character strings in this list. Because of potential name conflicts, use function names that do not begin with these characters.
For example, the SQL*Net Transparent Network Service functions all begin with the characters "NS," so you need to avoid naming functions that begin with "NS."