CUBRID 8.4.3用户参考手册(翻译中)
http://www.cubrid.org/manual/843/en/
注释
解释器是一种基于标准化查询语言(SQL)的方法;在SQL-style中,默认情况下注释通常由前加双破折号的行组成,并且被视作注释内容的一部分。此外,该系统还支持使用/ * /作为代码块标记(即C++风格),以及使用/ /* 和 */ 作为起始标志(即C编程语言风格)。
以下是CSQL解释器中所支持的注释的例子。
例子
- 如何使用--
-- 这是一个SQL-style注释。
- 如何使用 //
// 这是一个C++风格的注释。
- 如何使用 /* */
/* 这是一个C风格的注释。 */
/* 这是一个用C风格
将两行内容作为注释的例子。 */
标示符
标示符创建指南
标示符主要包含表名、索引名称、视图名称、字段名称以及用户名项等类别。在CSQL解释器中创建标示符的具体要求包括:1. 必须使用特定的语法结构;2. 需要在定义语句中明确指定;3. 必须符合命名空间规则等各项规定。
- 标识符必须以字母作为起始字符
- 不区分大小写字母
- 禁止使用CUBRID关键字
< 标示符>
:: = < 标示符字母> [ { < 其他字母> } ]
< ** 标示符字母** >
:: = < 大写字母>
| < 小写字母>
< 其他标示符>
:: = < 标示符字母>
| < 数字>
| _
| #
< 数字>
:: = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
< 大写字母>
:: = A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P| Q | R | S | T | U | V | W | X | Y | Z
< 小写字母>
:: = a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p| q | r | s | t | u | v | w | x | y | z
合法标示符
以字母开头
标识符必须以字母作为起始字符,并且除了运算符以外的其他特殊字符也可以作为标识符使用。以下是一些合法示例:#、$$、$\$**等。
a
a_b
ssn#
this_is_an_example_#
封闭在双引号,方括号,单引号中
如上所述的标识符和关键字是禁止使用的。然而,在它们被包裹于双引号、方括号或单引号内时,则可被视为例外情况得以允许使用。特别地,在ansi_quotes参数设为Yes时 ,双引号会被用作标识符闭合标记;而若该值设为No,则双引号将被视为字符串闭合标记的作用域边界符号。以下是合法标识符的具体实例:
" select"
" @lowcost"
" low cost"
" abc" " def"
[position]
非法标示符
以特殊字符和数字开头
标识符不得在其前部位置起始时使用特别字符或数字。值得注意的是,在这种情况下,下划线(_)以及井号(#)可以在首位位置使用。
_a
#ack
%nums
2fer
88abs
标示符包含空格
标示符中不能包含空格。
col1 t1
标示符中包含运算符
标示符中不能包含运算符 (+, -, *, /, %, ||, !, < , > , =, |, ^, & , ~ ) .
col+
col~
col& &
标示符名称的最大长度
下表详细列出了每个符号名称所对应的最长长度值。请注意单位为字节,在不同字符集中使用的字符数量及其对应的字节数也存在差异(例如,在UTF-8编码方案中一个韩文字面占用了三个字节)。
| 标示符 | 最大字节数 |
|---|---|
| Database | 17 |
| Table | 254 |
| Column | 254 |
| Index | 254 |
| Constraint | 254 |
| Java Stored Procedure | 254 |
| Trigger | 254 |
| View | 254 |
| Serial | 254 |
保留关键字
这些关键字在CUBRID系统中被视为命令、函数名称或数据类型名称。它们不得用于定义类、属性或变量。请注意,在CUBRID中将这些保留关键字包裹于双引号、方括号或其他标量标记时,则它们可以作为标识符使用。例如,在SQL语句中将'key'包裹在单引号内即可表示一个字段。
| ABSOLUTE | ACTION | ADD |
|---|---|---|
| ADD_MONTHS | AFTER | ALL |
| ALLOCATE | ALTER | AND |
| ANY | ARE | AS |
| ASC | ASSERTION | AT |
| ATTACH | ATTRIBUTE | AVG |
| BEFORE | BETWEEN | BIGINT |
| BIT | BIT_LENGTH | BLOB |
| BOOLEAN | BOTH | BREADTH |
| BY | ||
| CALL | CASCADE | CASCADED |
| CASE | CAST | CATALOG |
| CHANGE | CHAR | CHARACTER |
| CHECK | CLASS | CLASSES |
| CLOB | CLOSE | COALESCE |
| COLLATE | COLLATION | COLUMN |
| COMMIT | CONNECT | CONNECT_BY_ISCYCLE |
| CONNECT_BY_ISLEAF | CONNECT_BY_ROOT | CONNECTION |
| CONSTRAINT | CONSTRAINTS | CONTINUE |
| CONVERT | CORRESPONDING | COUNT |
| CREATE | CROSS | CURRENT |
| CURRENT_DATE | CURRENT_DATETIME | CURRENT_TIME |
| CURRENT_TIMESTAMP | CURRENT_USER | CURSOR |
| CYCLE | ||
| DATA | DATA_TYPE | DATABASE |
| DATE | DATETIME | DAY |
| DAY_HOUR | DAY_MILLISECOND | DAY_MINUTE |
| DAY_SECOND | DEALLOCATE | DEC |
| DECIMAL | DECLARE | DEFAULT |
| DEFERRABLE | DEFERRED | DELETE |
| DEPTH | DESC | DESCRIBE |
| DESCRIPTOR | DIAGNOSTICS | DIFFERENCE |
| DISCONNECT | DISTINCT | DISTINCTROW |
| DIV | DO | DOMAIN |
| DOUBLE | DUPLICATE | DROP |
| EACH | ELSE | ELSEIF |
| END | EQUALS | ESCAPE |
| EVALUATE | EXCEPT | EXCEPTION |
| EXEC | EXECUTE | EXISTS |
| EXTERNAL | EXTRACT | |
| FALSE | FETCH | FILE |
| FIRST | FLOAT | FOR |
| FOREIGN | FOUND | FROM |
| FULL | FUNCTION | |
| GENERAL | GET | GLOBAL |
| GO | GOTO | GRANT |
| GROUP | ||
| HAVING | HOUR | HOUR_MILLISECOND |
| HOUR_MINUTE | HOUR_SECOND | |
| IDENTITY | IF | IGNORE |
| IMMEDIATE | IN | INDEX |
| INDICATOR | INHERIT | INITIALLY |
| INNER | INOUT | INPUT |
| INSERT | INT | INTEGER |
| INTERSECT | INTERSECTION | INTERVAL |
| INTO | IS | ISOLATION |
| JOIN | ||
| KEY | ||
| LANGUAGE | LAST | LEADING |
| LEAVE | LEFT | LESS |
| LEVEL | LIKE | LIMIT |
| LIST | LOCAL | LOCAL_TRANSACTION_ID |
| LOCALTIME | LOCALTIMESTAMP | LOOP |
| LOWER | ||
| MATCH | MAX | METHOD |
| MILLISECOND | MIN | MINUTE |
| MINUTE_MILLISECOND | MINUTE_SECOND | MOD |
| MODIFY | MODULE | MONETARY |
| MONTH | MULTISET | MULTISET_OF |
| NA | NAMES | NATIONAL |
| NATURAL | NCHAR | NEXT |
| NO | NONE | NOT |
| NULL | NULLIF | NUMERIC |
| OBJECT | OCTET_LENGTH | OF |
| OFF | ON | ONLY |
| OPEN | OPTIMIZATION | OPTION |
| OR | ORDER | OUT |
| OUTER | OUTPUT | OVERLAPS |
| PARAMETERS | PARTIAL | POSITION |
| PRECISION | PREPARE | PRESERVE |
| PRIMARY | PRIOR | PRIVILEGES |
| PROCEDURE | ||
| QUERY | ||
| READ | REAL | RECURSIVE |
| REF | REFERENCES | REFERENCING |
| RELATIVE | RENAME | REPLACE |
| RESIGNAL | RESTRICT | RETURN |
| RETURNS | REVOKE | RIGHT |
| ROLE | ROLLBACK | ROLLUP |
| ROUTINE | ROW | ROWNUM |
| ROWS | ||
| SAVEPOINT | SCHEMA | SCOPE |
| SCROLL | SEARCH | SECOND |
| SECOND_MILLISECOND | SECTION | SELECT |
| SENSITIVE | SEQUENCE | SEQUENCE_OF |
| SERIALIZABLE | SESSION | SESSION_USER |
| SET | SET_OF | SETEQ |
| SHARED | SIBLINGS | SIGNAL |
| SIMILAR | SIZE | SMALLINT |
| SOME | SQL | SQLCODE |
| SQLERROR | SQLEXCEPTION | SQLSTATE |
| SQLWARNING | STATISTICS | STRING |
| SUBCLASS | SUBSET | SUBSETEQ |
| SUBSTRING | SUM | SUPERCLASS |
| SUPERSET | SUPERSETEQ | SYS_CONNECT_BY_PATH |
| SYS_DATE | SYS_DATETIME | SYS_TIME |
| SYS_TIMESTAMP | SYSDATE | SYSDATETIME |
| SYSTEM_USER | SYSTIME | |
| TABLE | TEMPORARY | THEN |
| TIME | TIMESTAMP | TIMEZONE_HOUR |
| TIMEZONE_MINUTE | TO | TRAILING |
| TRANSACTION | TRANSLATE | TRANSLATION |
| TRIGGER | TRIM | TRUE |
| TRUNCATE | ||
| UNDER | UNION | UNIQUE |
| UNKNOWN | UPDATE | UPPER |
| USAGE | USE | USER |
| USING | UTIME | |
| VALUE | VALUES | VARCHAR |
| VARIABLE | VARYING | VCLASS |
| VIEW | ||
| WHEN | WHENEVER | WHERE |
| WHILE | WITH | WITHOUT |
| WORK | WRITE | |
| XOR | ||
| YEAR | YEAR_MONTH | |
| ZONE |
