Both reserved words and keywords have special meaning in PL/SQL. The difference between reserved words and keywords is that you cannot use reserved words as identifiers. You can use keywords as as identifiers, but it is not recommended.
Table D-1 lists the PL/SQL reserved words.
Table D-2 lists the PL/SQL keywords.
Some of the words in this appendix are also reserved by SQL. You can display them with the dynamic performance view V$RESERVED_WORDS, which is described in Oracle Database Reference.
Table D-1 PL/SQL Reserved Words
| Begins with: | Reserved Words | 
|---|---|
| A | ALL, ALTER, AND, ANY, AS, ASC, AT | 
| B | BEGIN, BETWEEN, BY | 
| C | CASE, CHECK, CLUSTER, CLUSTERS, COLAUTH, COLUMNS, COMPRESS, CONNECT, CRASH, CREATE, CURRENT | 
| D | DECLARE, DEFAULT, DELETE, DESC, DISTINCT, DROP | 
| E | ELSE, END, EXCEPTION, EXCLUSIVE, EXISTS | 
| F | FETCH, FOR, FROM | 
| G | GOTO, GRANT, GROUP | 
| H | HAVING | 
| I | IDENTIFIED, IF, IN, INDEX, INDEXES, INSERT, INTERSECT, INTO, IS | 
| L | LIKE, LOCK | 
| M | MINUS, MODE | 
| N | NOCOMPRESS, NOT, NOWAIT, NULL | 
| O | OF, ON, OPTION, OR, ORDER, OVERLAPS | 
| P | PRIOR, PROCEDURE, PUBLIC | 
| R | RESOURCE, REVOKE | 
| S | SELECT, SHARE, SIZE, SQL, START | 
| T | TABAUTH, TABLE, THEN, TO | 
| U | UNION, UNIQUE, UPDATE | 
| V | VALUES, VIEW, VIEWS | 
| W | WHEN, WHERE, WITH | 
| Begins with: | Keywords | 
|---|---|
| A | A, ADD, AGENT, AGGREGATE, ARRAY, ATTRIBUTE, AUTHID, AVG | 
| B | BFILE_BASE, BINARY, BLOB_BASE, BLOCK, BODY, BOTH, BOUND, BULK, BYTE | 
| C | C, CALL, CALLING, CASCADE, CHAR, CHAR_BASE, CHARACTER, CHARSETFORM, CHARSETID, CHARSET, CLOB_BASE, CLOSE, COLLECT, COMMENT, COMMIT, COMMITTED, COMPILED, CONSTANT, CONSTRUCTOR, CONTEXT, CONTINUE, CONVERT, COUNT, CURSOR, CUSTOMDATUM | 
| D | DANGLING, DATA, DATE, DATE_BASE, DAY, DEFINE, DETERMINISTIC, DOUBLE, DURATION | 
| E | ELEMENT, ELSIF, EMPTY, ESCAPE, EXCEPT, EXCEPTIONS, EXECUTE, EXIT, EXTERNAL | 
| F | FINAL, FIXED, FLOAT, FORALL, FORCE, FUNCTION | 
| G | GENERAL | 
| H | HASH, HEAP, HIDDEN, HOUR | 
| I | IMMEDIATE, INCLUDING, INDICATOR, INDICES, INFINITE, INSTANTIABLE, INT, INTERFACE, INTERVAL, INVALIDATE, ISOLATION | 
| J | JAVA | 
| L | LANGUAGE, LARGE, LEADING, LENGTH, LEVEL, LIBRARY, LIKE2, LIKE4, LIKEC, LIMIT, LIMITED, LOCAL, LONG, LOOP | 
| M | MAP, MAX, MAXLEN, MEMBER, MERGE, MIN, MINUTE, MOD, MODIFY, MONTH, MULTISET | 
| N | NAME, NAN, NATIONAL, NATIVE, NCHAR, NEW, NOCOPY, NUMBER_BASE | 
| O | OBJECT, OCICOLL, OCIDATETIME, OCIDATE, OCIDURATION, OCIINTERVAL, OCILOBLOCATOR, OCINUMBER, OCIRAW, OCIREFCURSOR, OCIREF, OCIROWID, OCISTRING, OCITYPE, ONLY, OPAQUE, OPEN, OPERATOR, ORACLE, ORADATA, ORGANIZATION, ORLANY, ORLVARY, OTHERS, OUT, OVERRIDING | 
| P | PACKAGE, PARALLEL_ENABLE, PARAMETER, PARAMETERS, PARTITION, PASCAL, PIPE, PIPELINED, PRAGMA, PRECISION, PRIVATE | 
| R | RAISE, RANGE, RAW, READ, RECORD, REF, REFERENCE, RELIES_ON, REM, REMAINDER, RENAME, RESULT, RESULT_CACHE, RETURN, RETURNING, REVERSE, ROLLBACK, ROW | 
| S | SAMPLE, SAVE, SAVEPOINT, SB1, SB2, SB4, SECOND, SEGMENT, SELF, SEPARATE, SEQUENCE, SERIALIZABLE, SET, SHORT, SIZE_T, SOME, SPARSE, SQLCODE, SQLDATA, SQLNAME, SQLSTATE, STANDARD, STATIC, STDDEV, STORED, STRING, STRUCT, STYLE, SUBMULTISET, SUBPARTITION, SUBSTITUTABLE, SUBTYPE, SUM, SYNONYM | 
| T | TDO, THE, TIME, TIMESTAMP, TIMEZONE_ABBR, TIMEZONE_HOUR, TIMEZONE_MINUTE, TIMEZONE_REGION, TRAILING, TRANSACTION, TRANSACTIONAL, TRUSTED, TYPE | 
| U | UB1, UB2, UB4, UNDER, UNSIGNED, UNTRUSTED, USE, USING | 
| V | VALIST, VALUE, VARIABLE, VARIANCE, VARRAY, VARYING, VOID | 
| W | WHILE, WORK, WRAPPED, WRITE | 
| Y | YEAR | 
| Z | ZONE |