Oracle官方文档说明:
Reserved words and keywordsare identifiers that have special meaning in PL/SQL.
You cannot use reserved words as ordinary user-defined identifiers. You can use them as quoted user-defined identifiers, but it is not recommended. For more information, see"QuotedUser-Defined Identifiers".
You can use keywords as ordinary user-defined identifiers,but it is not recommended.
不能使用保留字作为用户定义的变量。但是当加上双引号就可以,但是不推存。
关键字就可以作为用户定义的变量,但是不推存。
举例子:
(1)保留字
-- number
创建表,作为字段名。
SQL> CREATE TABLE cux_oyj_RESERVED_WORDS(NUMBER NUMBER);
CREATE TABLE cux_oyj_RESERVED_WORDS(NUMBER NUMBER)
ORA-00904: : 标识符无效
加上双引号,就可以
SQL> CREATE TABLE cux_oyj_RESERVED_WORDS("NUMBER" NUMBER);
Table created
但是查询:
SQL> SELECT rw.number from cux_oyj_RESERVED_WORDS rw;
SELECT rw.number from cux_oyj_RESERVED_WORDS rw
ORA-01747: user.table.column, table.column 或列说明无效
使用起来比较麻烦。
(2)关键字
--name
创建表,作为字段名。
SQL> CREATE TABLE cux_oyj_KEYWORDS(NAME VARCHAR2(50));
Table created
保留字与关键字的视图(动态视图)V$RESERVED_WORDS
This view gives a list of all SQL keywords. To determine whether a particular keyword is reserved in any way, check the RESERVED, RES_TYPE, RES_ATTR, and RES_SEMI columns.
ColumnDatatypeDescription KEYWORD VARCHAR2(30) Name of the keyword LENGTH NUMBER Length of the keyword RESERVED VARCHAR2(1) A value of Y means that the keyword cannot be used as an identifier. A value of N means that it is not reserved. RES_TYPE VARCHAR2(1) A value of Y means that the keyword cannot be used as a type name. A value of N means that it is not reserved. RES_ATTR VARCHAR2(1) A value of Y means that the keyword cannot be used as an attribute name. A value of N means that it is not reserved. RES_SEMI VARCHAR2(1) A value of Y means that the keyword is not allowed as an identifier in certain situations, such as in DML. A value of N means that it is not reserved. DUPLICATE VARCHAR2(1) A value of Y means that the keyword is a duplicate of another keyword. A value of N means that it is not a duplicate.保留字:
Begins with:Reserved WordsA
ALL, ALTER, AND, ANY, AS, ASC, AT
B
BEGIN, BETWEEN, BY
C
CASE, CHECK, CLUSTERS, CLUSTER, COLAUTH, COLUMNS, COMPRESS, CONNECT, CRASH, CREATE, CURSOR
D
DECLARE, DEFAULT, DESC, DISTINCT, DROP
E
ELSE, END, EXCEPTION, EXCLUSIVE
F
FETCH, FOR, FROM, FUNCTION
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
PROCEDURE, PUBLIC
R
RESOURCE, REVOKE
S
SELECT, SHARE, SIZE, SQL, START, SUBTYPE
T
TABAUTH, TABLE, THEN, TO, TYPE
U
UNION, UNIQUE, UPDATE
V
VALUES, VIEW, VIEWS
W
WHEN, WHERE, WITH
关键字:
Begins with:KeywordsA
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, CHARSET, CHARSETFORM, CHARSETID, CLOB_BASE, CLOSE, COLLECT, COMMENT, COMMIT, COMMITTED, COMPILED, CONSTANT, CONSTRUCTOR, CONTEXT, CONTINUE, CONVERT, COUNT, CURRENT, CUSTOMDATUM
D
DANGLING, DATA, DATE, DATE_BASE, DAY, DEFINE, DELETE, DETERMINISTIC, DOUBLE, DURATION
E
ELEMENT, ELSIF, EMPTY, ESCAPE, EXCEPT, EXCEPTIONS, EXECUTE, EXISTS, EXIT, EXTERNAL
F
FINAL, FIXED, FLOAT, FORALL, FORCE
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, OCIDATE, OCIDATETIME, OCIDURATION, OCIINTERVAL, OCILOBLOCATOR, OCINUMBER, OCIRAW, OCIREF, OCIREFCURSOR, OCIROWID, OCISTRING, OCITYPE, OLD, ONLY, OPAQUE, OPEN, OPERATOR, ORACLE, ORADATA, ORGANIZATION, ORLANY, ORLVARY, OTHERS, OUT, OVERRIDING
P
PACKAGE, PARALLEL_ENABLE, PARAMETER, PARAMETERS, PARENT, PARTITION, PASCAL, PIPE, PIPELINED, PRAGMA, PRECISION, PRIOR, 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, SUM, SYNONYM
T
TDO, THE, TIME, TIMESTAMP, TIMEZONE_ABBR, TIMEZONE_HOUR, TIMEZONE_MINUTE, TIMEZONE_REGION, TRAILING, TRANSACTION, TRANSACTIONAL, TRUSTED
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