B Oracle Reserved Words, Keywords, and Namespaces

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.

Oracle Reserved Words

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

Oracle Keywords

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

PL/SQL Reserved Words

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

Oracle Reserved Namespaces

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."