数据库的保留关键字列表
在 SuperMap 中创建表(如属性表、数据集等)和字段的时候,对字段名称和数据集的名称有一定的限制:
- 由汉字、字母、数字和下划线组成,但不能以数字、下划线以及“sm”开头。“sm”为 UDB 引擎的系统默认字段的保留关键字。
特别说明,不能新建以“sm”开头的字段,但是可以创建以“sm”开头的数据集。
- 不能以“ssl”命名字段,系统会自动为其添加“_user”后缀。
- 名称长度不得为0,也不得超过30个字节(即30个英文字母或者15个汉字)。
- 不能有非法字符,除数字、字母、汉字、下划线以外的所有字符,如空格、括号等。
- 不能与各个数据库的保留字段冲突。
UDB、Oracle、SQL Server 等数据库均有一些保留的关键字,在 SuperMap 中创建表和字段的时候,表名和字段名都不能使用这些关键字。现在把 UDB/UDBX和 Oracle 数据库关键字整理出来,希望给用户带来一些方便。除了下面列出的保留关键字外,Oracle 对系统自动生成的对象及子对象以"SYS_"开头,因此 Oracle 会阻止用户为指定的对象或子对象以"SYS_"为前缀,否则有可能引起命名解析冲突。
UDB/UDBX 数据库保留关键字
| ABORT | CAST | DETACH | HAVING | LIKE | QUERY | TO |
| ACTION | CHECK | DISTINCT | IF | LIMIT | RAISE | THEN |
| ADD | COLLATE | DROP | IGNORE | LINES | REFERENCES | TRANSACTION |
| AFTER | COLUMN | EACH | IMMEDIATE | MATCH | REGEXP | TRIGGER |
| ALL | COMMIT | ELSE | IN | NATURAL | REINDEX | UNION |
| ALTER | CONFLICT | END | INDEX | NO | RELEASE | UNIQUE |
| ANALYZE | CONSTRAINT | ESCAPE | INDEXED | NOT | RENAME | UPDATE |
| AND | CREATE | EXCEPT | INITIALLY | NOTNULL | REPLACE | USING |
| AS | CROSS | EXCLUSIVE | INNER | NULL | RESTRICT | VACUUM |
| ASC | CURRENT_DATE | EXISTS | INSERT | OF | RIGHT | VALUES |
| ATTACH | CURRENT_TIME | EXPLAIN | INSTEAD | OFFSET | ROLLBACK | VIEW |
| AUTOINCREMENT | CURRENT_TIMESTAMP | FAIL | INTERSECT | ON | ROW | VIRTUAL |
| BEFORE | DATABASE | FOR | INTO | OR | SAVEPOINT | WHEN |
| BEGIN | DEFAULT | FOREIGN | IS | ORDER | SELECT | WHERE |
| BETWEEN | DEFERRABLE | FROM | ISNULL | OUTER | SET | |
| BY | DEFERRED | FULL | JOIN | PLAN | TABLE | |
| CASCADE | DELETE | GLOB | KEY | PRAGMA | TEMP | |
| CASE | DESC | GROUP | LEFT | PRIMARY | TEMPORARY |
Oracle 数据库保留关键字
| ABORT | COMMIT | EXIT | LIMITED | OTHERS | ROWNUM | TEXT |
| ACCEPT | COMPRESS | FALSE | LINES | OUT | ROWS | THEN |
| ACCESS | CONNECT | FETCH | LOCK | PACKAGE | ROWTYPE | TO |
| ADD | CONSTANT | FILE | LONG | PARTITION | RUN | TRIGGER |
| ALL | CRASH | FLOAT | LOOP | PCTFREE | SAVEPOINT | TRUE |
| ALTER | CREATE | FOR | MAX | PLS_INTEGER | SCHEMA | TYPE |
| AND | CURRENT | FROM | MAXEXTENTS | POSITIVE | SELECT | UID |
| ANY | CURRVAL | MINUS | MIN | POSITIVEN | SEPARATE | UNION |
| ARRAY | CURSOR | FUNCTION | MLSLABEL | PRAGMA | SESSION | UNIQUE |
| ARRAYLEN | DATABASE | GENERIC | MOD | PRIOR | SET | UPDATE |
| AS | DATA_BASE | GOTO | MODE | PRIVATE | SHARE | USE |
| ASC | DATE | GRANT | MODIFY | PRIVILEGES | SIZE | USER |
| ASSERT | DBA | GROUP | NATUAL | PROCEDURE | SMALLINT | VALIDATE |
| ASSIGN | DEBUGOFF | HAVING | NATURALN | PUBLIC | SPACE | VALUES |
| AT | DEBUGON | IDENTIFIED | NEW | RAISE | SQL | VARCHAR |
| AUDIT | DECLARE | IF | NEXTVAL | RANGE | SQLCODE | VARCHAR2 |
| BETWEEN | DECIMAL | IMMEDIATE | NOAUDIT | RAW | SQLERRM | VARIANCE |
| BINARY_INTEGER | DEFAULT | IN | NOCOMPRESS | REAL | START | VIEW |
| BODY | DEFINITION | INCREMENT | NOT | RECORD | STATE | VIEWS |
| BOOLEAN | DELAY | INDEX | NOWAIT | REF | STATEMENT | WHEN |
| BY | DELETE | INDEXES | NULL | RELEASE | STTDEV | WHENEVER |
| CASE | DESC | INDICATOR | NUMBER | REMR | SUBTYPE | WHERE |
| CHAR | DIGITS | INITIAL | NUMBER_BASE | RENAME | SUCCESSFUL | WHILE |
| CHAR_BASE | DISPOSE | INSERT | OF | RESOURCE | SUM | WITH |
| CHECK | DISTINCT | INTEGER | OFFLINE | RETURN | SYNONYM | WORK |
| CLOSE | DO | INTERFACE | ON | REVERSE | SYSDATE | WRITE |
| CLUSTER | DROP | INTERSECT | ONLINE | REVOKE | TABAUTH | XOR |
| CLUSTERS | ELSE | INTO | OPEN | ROLLBACK | TABLE | |
| COLAUTH | ELSIF | IS | OPTION | ROW | TABLES | |
| COLUMN | EXCLUSIVE | LEVEL | OR | ROWID | TASK | |
| COMMENT | EXISTS | LIKE | ORDER | ROWLABEL | TERMINATE |