SQL关键字

来源:互联网 发布:mysql 表分区查询 编辑:程序博客网 时间:2024/05/21 08:59

 转载:http://man.chinaunix.net/database/postgresql_8.0_CN/sql-keywords-appendix.htmlTable C-1

 

列出了所由在 SQL 标准和 PostgreSQL 8.0.0 里是关键字的记号。 你可以在 Section 4.1.1 里找到相关的背景信息。

SQL 里有保留字(保留)非保留字之分。根据标准, 保留字是那些真正的关键字;我们决不能用它们做标识符。 非保留字只是在特定的环境里有特殊的含义,而在其它环境里是可以用做标识符的。 大多数非保留字实际上都是 SQL 声明的内建表和函数的名字。 而非保留字的概念实质上只是用来表示在某些场合里,在一个字上附加了一些预先定义的含义。

PostgreSQL 里,分析器的工作有些复杂。 因为存在好几种不同范畴的记号, 从那些永远不可能用做标识符的到那些和普通标识符比较起来在分析器里完全没有任何特殊状态的。 (后者通常都是 SQL 声明的函数。)即使保留关键字在 PostgreSQL 里都没有完全保留,而是可以用做字段标签(比如,SELECT 55 AS CHECK — 虽然 CHECK是保留关键字。)

在 Table C-1 里用于 PostgreSQL 的字段里, 我们把那些分析器明确知道,但是可以在大多数需要标识符的环境里用做标识符的关键字分类为"非保留"。 否则一些关键字就是非保留的,因此不能用做函数或者数据类型名字, 并且相应做了标记。(大多数这类记号代表有特殊语法的内置函数或者数据类型。 我们仍然可以使用这些函数或者类型,但是用户不能重新定义它们。) 标记为"保留"都是那些只允许出现在 "AS" 字段标签名里面的(以及可能还有很少的几个其它环境)的记号。 有些保留关键字还可以用做函数的名字;这点在表中也显示出来了。

一条通用的规则是:如果你看到任何古怪的分析错, 说命令包含任何这里列出的关键字做标识符, 那么你可以先试试用双引号把那个标识符括起来,看看问题是否消失。

在开始学习 Table C-1 之前我们还要理解的一件重要的事情是:一个关键字在 PostgreSQL 中没有保留并不意味着与该关键字相关的特性没有实现。 同样,关键字的存在并不表明某个特性就存在。

关键字PostgreSQLSQL:2003SQL:1999SQL-92A 非保留  ABORT非保留   ABS 保留非保留 ABSOLUTE非保留非保留保留保留ACCESS非保留   ACTION非保留非保留保留保留ADA 非保留非保留非保留ADD非保留非保留保留保留ADMIN 非保留保留 AFTER非保留非保留保留 AGGREGATE非保留 保留 ALIAS  保留 ALL保留保留保留保留ALLOCATE 保留保留保留ALSO非保留   ALTER非保留保留保留保留ALWAYS 非保留  ANALYSE保留   ANALYZE保留   AND保留保留保留保留ANY保留保留保留保留ARE 保留保留保留ARRAY保留保留保留 AS保留保留保留保留ASC保留非保留保留保留ASENSITIVE 保留非保留 ASSERTION非保留非保留保留保留ASSIGNMENT非保留非保留非保留 ASYMMETRIC 保留非保留 AT非保留保留保留保留ATOMIC 保留非保留 ATTRIBUTE 非保留  ATTRIBUTES 非保留  AUTHORIZATION保留(可以是函数)保留保留保留AVG 保留非保留保留BACKWARD非保留   BEFORE非保留非保留保留 BEGIN非保留保留保留非保留BERNOULLI 非保留  BETWEEN保留(可以是函数)保留非保留保留BIGINT非保留(不能是函数或类型)保留  BINARY保留(可以是函数)保留保留 BIT非保留(不能是函数或者类型) 保留保留BITVAR  非保留 BIT_LENGTH  非保留保留BLOB 保留保留 BOOLEAN非保留(不能是函数或者类型)保留保留 BOTH保留保留保留保留BREADTH 非保留保留 BY非保留保留保留保留C 非保留非保留非保留CACHE非保留   CALL 保留保留 CALLED非保留保留非保留 CARDINALITY 保留非保留 CASCADE非保留非保留保留保留CASCADED 保留保留保留CASE保留保留保留保留CAST保留保留保留保留CATALOG 非保留保留保留CATALOG_NAME 非保留非保留非保留CEIL 保留  CEILING 保留  CHAIN非保留非保留非保留 CHAR非保留(不能是函数或类型)保留保留保留CHARACTER非保留(不能是函数或类型)保留保留保留CHARACTERISTICS非保留   CHARACTERS 非保留  CHARACTER_LENGTH 保留非保留保留CHARACTER_SET_CATALOG 非保留非保留非保留CHARACTER_SET_NAME 非保留非保留非保留CHARACTER_SET_SCHEMA 非保留非保留非保留CHAR_LENGTH 非保留非保留保留CHECK保留保留保留保留CHECKED  非保留 CHECKPOINT非保留   CLASS非保留 保留 CLASS_ORIGIN 非保留非保留非保留CLOB 保留保留 CLOSE非保留保留保留保留CLUSTER非保留   COALESCE非保留(不能是函数或者类型)保留非保留保留COBOL 非保留非保留非保留COLLATE保留保留保留保留COLLATION 非保留保留保留COLLATION_CATALOG 非保留非保留非保留COLLATION_NAME 非保留非保留非保留COLLATION_SCHEMA 非保留非保留非保留COLLECT 保留  COLUMN保留保留保留保留COLUMN_NAME 非保留非保留非保留COMMAND_FUNCTION 非保留非保留非保留COMMAND_FUNCTION_CODE 非保留非保留 COMMENT非保留   COMMIT非保留保留保留保留COMMITTED非保留非保留非保留非保留COMPLETION  保留 CONDITION 保留  CONDITION_NUMBER 非保留非保留非保留CONNECT 保留保留保留CONNECTION 非保留保留保留CONNECTION_NAME 非保留非保留非保留CONSTRAINT保留保留保留保留CONSTRAINTS非保留非保留保留保留CONSTRAINT_CATALOG 非保留非保留非保留CONSTRAINT_NAME 非保留非保留非保留CONSTRAINT_SCHEMA 非保留非保留非保留CONSTRUCTOR 非保留保留 CONTAINS 非保留非保留 CONTINUE 非保留保留保留CONVERSION非保留   CONVERT非保留(不能是函数或者类型)保留非保留保留COPY非保留   CORR 保留  CORRESPONDING 保留保留保留COUNT 保留非保留保留COVAR_POP 保留  COVAR_SAMP 保留  CREATE保留保留保留保留CREATEDB非保留   CREATEUSER非保留   CROSS保留(可以是函数)保留保留保留CSV非保留   CUBE 保留保留 CUME_DIST 保留  CURRENT 保留保留保留CURRENT_DATE保留保留保留保留CURRENT_DEFAULT_TRANSFORM_GROUP 保留  CURRENT_PATH 保留保留 CURRENT_ROLE 保留保留 CURRENT_TIME保留保留保留保留CURRENT_TIMESTAMP保留保留保留保留CURRENT_TRANSFORM_GROUP_FOR_TYPE 保留  CURRENT_USER保留保留保留保留CURSOR非保留保留保留保留CURSOR_NAME 非保留非保留非保留CYCLE非保留保留保留 DATA 非保留保留非保留DATABASE非保留   DATE 保留保留保留DATETIME_INTERVAL_CODE 非保留非保留非保留DATETIME_INTERVAL_PRECISION 非保留非保留非保留DAY非保留保留保留保留DEALLOCATE非保留保留保留保留DEC非保留(不能是函数或者类型)保留保留保留DECIMAL非保留(不能是函数或者类型)保留保留保留DECLARE非保留保留保留保留DEFAULT保留保留保留保留DEFAULTS非保留非保留  DEFERRABLE保留非保留保留保留DEFERRED非保留非保留保留保留DEFINED 非保留非保留 DEFINER非保留非保留非保留 DEGREE 非保留  DELETE非保留保留保留保留DELIMITER非保留   DELIMITERS非保留   DENSE_RANK 保留  DEPTH 非保留保留 DEREF 保留保留 DERIVED 非保留  DESC保留非保留保留保留DESCRIBE 保留保留保留DESCRIPTOR 非保留保留保留DESTROY  保留 DESTRUCTOR  保留 DETERMINISTIC 保留保留 DIAGNOSTICS 非保留保留保留DICTIONARY  保留 DISCONNECT 保留保留保留DISPATCH 非保留非保留 DISTINCT保留保留保留保留DO保留   DOMAIN非保留非保留保留保留DOUBLE非保留保留保留保留DROP非保留保留保留保留DYNAMIC 保留保留 DYNAMIC_FUNCTION 非保留非保留非保留DYNAMIC_FUNCTION_CODE 非保留非保留 EACH非保留保留保留 ELEMENT 保留  ELSE保留保留保留保留ENCODING非保留   ENCRYPTED非保留   END保留保留保留保留END-EXEC 保留保留保留EQUALS 非保留保留 ESCAPE非保留保留保留保留EVERY 保留保留 EXCEPT保留保留保留保留EXCEPTION 非保留保留保留EXCLUDE 非保留  EXCLUDING非保留非保留  EXCLUSIVE非保留   EXEC 保留保留保留EXECUTE非保留保留保留保留EXISTING  非保留 EXISTS非保留(不能是函数或类型)保留非保留保留EXP 保留  EXPLAIN非保留   EXTERNAL非保留保留保留保留EXTRACT非保留(不能是函数或类型)保留非保留保留FALSE保留保留保留保留FETCH非保留保留保留保留FILTER 保留  FINAL 非保留非保留 FIRST非保留非保留保留保留FLOAT非保留(不能是函数或类型)保留保留保留FLOOR 保留  FOLLOWING 非保留  FOR保留保留保留保留FORCE非保留   FOREIGN保留保留保留保留FORTRAN 非保留非保留非保留FORWARD非保留   FOUND 非保留保留保留FREE 保留保留 FREEZE非保留(可以是函数)   FROM保留保留保留保留FULL保留(可以是函数)保留保留保留FUNCTION非保留保留保留 FUSION 保留  G 非保留  GENERAL 非保留保留 GENERATED 非保留非保留 GET 保留保留保留GLOBAL非保留保留保留保留GO 非保留保留保留GOTO 非保留保留保留GRANT保留保留保留保留GRANTED 非保留非保留 GROUP保留保留保留保留GROUPING 保留保留 HANDLER非保留   HAVING保留保留保留保留HIERARCHY 非保留非保留 HOLD非保留保留非保留 HOST  保留 HOUR非保留保留保留保留IDENTITY 保留保留保留IGNORE  保留 ILIKE保留(可以是函数)   IMMEDIATE非保留非保留保留保留IMMUTABLE非保留   IMPLEMENTATION 非保留非保留 IMPLICIT非保留   IN保留保留保留保留INCLUDING非保留非保留  INCREMENT非保留非保留  INDEX非保留   INDICATOR 保留保留保留INFIX  非保留 INHERITS非保留   INITIALIZE  保留 INITIALLY保留非保留保留保留INNER保留(可以是函数)保留保留保留INOUT非保留(不能是函数或者类型)保留保留 INPUT非保留非保留保留保留INSENSITIVE非保留保留非保留保留INSERT非保留保留保留保留INSTANCE 非保留非保留 INSTANTIABLE 非保留非保留 INSTEAD非保留   INT非保留(不能是函数或类型)保留保留保留INTEGER非保留(不能是函数或类型)保留保留保留INTERSECT保留保留保留保留INTERSECTION 保留  INTERVAL非保留(不能是函数或类型)保留保留保留INTO保留保留保留保留INVOKER非保留非保留非保留 IS保留(可以是函数)保留保留保留ISNULL保留(可以是函数)   ISOLATION非保留非保留保留保留ITERATE  保留 JOIN保留(可以是函数)保留保留保留K 非保留非保留 KEY非保留非保留保留保留KEY_MEMBER 非保留非保留 KEY_TYPE 非保留非保留 LANCOMPILER非保留   LANGUAGE非保留保留保留保留LARGE非保留保留保留 LAST非保留非保留保留保留LATERAL 保留保留 LEADING保留保留保留保留LEFT保留(可以是函数)保留保留保留LENGTH 非保留非保留非保留LESS  保留 LEVEL非保留非保留保留保留LIKE保留(可以是函数)保留保留保留LIMIT保留 保留 LISTEN非保留   LN 保留  LOAD非保留   LOCAL非保留保留保留保留LOCALTIME保留保留保留 LOCALTIMESTAMP保留保留保留 LOCATION非保留   LOCATOR 非保留保留 LOCK非保留   LOWER 保留非保留保留M 非保留非保留 MAP 非保留保留 MATCH非保留保留保留保留MATCHED 非保留  MAX 保留非保留保留MAXVALUE非保留非保留  MEMBER 保留  MERGE 保留  MESSAGE_LENGTH 非保留非保留非保留MESSAGE_OCTET_LENGTH 非保留非保留非保留MESSAGE_TEXT 非保留非保留非保留METHOD 保留非保留 MIN 保留非保留保留MINUTE非保留保留保留保留MINVALUE非保留非保留  MOD 保留非保留 MODE非保留   MODIFIES 保留保留 MODIFY  保留 MODULE 保留保留保留MONTH非保留保留保留保留MORE 非保留非保留非保留MOVE非保留   MULTISET 保留  MUMPS 非保留非保留非保留NAME 非保留非保留非保留NAMES非保留非保留保留保留NATIONAL非保留(不能是函数或者类型)保留保留保留NATURAL保留(可以是函数)保留保留保留NCHAR非保留(不能是函数或类型)保留保留保留NCLOB 保留保留 NESTING 非保留  NEW保留保留保留 NEXT非保留非保留保留保留NO非保留保留保留保留NOCREATEDB非保留   NOCREATEUSER非保留   NONE非保留(不能是函数或类型)保留保留 NORMALIZE 保留  NORMALIZED 非保留  NOT保留保留保留保留NOTHING非保留   NOTIFY非保留   NOTNULL保留(可以是函数)   NOWAIT非保留   NULL保留保留保留保留NULLABLE 非保留非保留非保留NULLIF非保留(不能是函数或类型)保留非保留保留NULLS 非保留  NUMBER 非保留非保留非保留NUMERIC非保留(不能是函数或类型)保留保留保留OBJECT非保留非保留保留 OCTETS 非保留  OCTET_LENGTH 保留非保留保留OF非保留保留保留保留OFF保留 保留 OFFSET保留   OIDS非保留   OLD保留保留保留 ON保留保留保留保留ONLY保留保留保留保留OPEN 保留保留保留OPERATION  保留 OPERATOR非保留   OPTION非保留非保留保留保留OPTIONS 非保留非保留 OR保留保留保留保留ORDER保留保留保留保留ORDERING 非保留  ORDINALITY 非保留保留 OTHERS 非保留  OUT非保留(不能是函数或者类型)保留保留 OUTER保留(可以是函数)保留保留保留OUTPUT 非保留保留保留OVER 保留  OVERLAPS保留(可以是函数)保留非保留保留OVERLAY非保留(不能是函数或者类型)保留非保留 OVERRIDING 非保留非保留 OWNER非保留   PAD 非保留保留保留PARAMETER 保留保留 PARAMETERS  保留 PARAMETER_MODE 非保留非保留 PARAMETER_NAME 非保留非保留 PARAMETER_ORDINAL_POSITION 非保留非保留 PARAMETER_SPECIFIC_CATALOG 非保留非保留 PARAMETER_SPECIFIC_NAME 非保留非保留 PARAMETER_SPECIFIC_SCHEMA 非保留非保留 PARTIAL非保留非保留保留保留PARTITION 保留  PASCAL 非保留非保留非保留PASSWORD非保留   PATH 非保留保留 PERCENTILE_CONT 保留  PERCENTILE_DISC 保留  PERCENT_RANK 保留  PLACING保留非保留  PLI 非保留非保留非保留POSITION非保留(不能是函数或类型)保留非保留保留POSTFIX  保留 POWER 保留  PRECEDING 非保留  PRECISION非保留(不能是函数或者操作符)保留保留保留PREFIX  保留 PREORDER  保留 PREPARE非保留保留保留保留PRESERVE非保留非保留保留保留PRIMARY保留保留保留保留PRIOR非保留非保留保留保留PRIVILEGES非保留非保留保留保留PROCEDURAL非保留   PROCEDURE非保留保留保留保留PUBLIC 保留保留保留QUOTE非保留   RANGE 保留  RANK 保留  READ非保留非保留保留保留READS 保留保留 REAL非保留(不能是函数或类型)保留保留保留RECHECK非保留   RECURSIVE 保留保留 REF 保留保留 REFERENCES保留保留保留保留REFERENCING 保留保留 REGR_AVGX 保留  REGR_AVGY 保留  REGR_COUNT 保留  REGR_INTERCEPT 保留  REGR_R2 保留  REGR_SLOPE 保留  REGR_SXX 保留  REGR_SXY 保留  REGR_SYY 保留  REINDEX非保留   RELATIVE非保留非保留保留保留RELEASE非保留保留  RENAME非保留   REPEATABLE非保留非保留非保留非保留REPLACE非保留   RESET非保留   RESTRICT非保留非保留保留保留RESULT 保留保留 RETURN 保留保留 RETURNED_CARDINALITY 非保留  RETURNED_LENGTH 非保留非保留非保留RETURNED_OCTET_LENGTH 非保留非保留非保留RETURNED_SQLSTATE 非保留非保留非保留RETURNS非保留保留保留 REVOKE非保留保留保留保留RIGHT保留(可以是函数)保留保留保留ROLE 非保留保留 ROLLBACK非保留保留保留保留ROLLUP 保留保留 ROUTINE 非保留保留 ROUTINE_CATALOG 非保留非保留 ROUTINE_NAME 非保留非保留 ROUTINE_SCHEMA 非保留非保留 ROW非保留(不能是函数或类型)保留保留 ROWS 保留保留保留ROW_COUNT 非保留非保留非保留ROW_NUMBER 保留  RULE非保留   SAVEPOINT非保留保留保留 SCALE 非保留非保留非保留SCHEMA非保留非保留保留保留SCHEMA_NAME 非保留非保留非保留SCOPE 保留保留 SCOPE_CATALOG 非保留  SCOPE_NAME 非保留  SCOPE_SCHEMA 非保留  SCROLL非保留保留保留保留SEARCH 保留保留 SECOND非保留保留保留保留SECTION 非保留保留保留SECURITY非保留非保留非保留 SELECT保留保留保留保留SELF 非保留非保留 SENSITIVE 保留非保留 SEQUENCE非保留非保留保留 SERIALIZABLE非保留非保留非保留非保留SERVER_NAME 非保留非保留非保留SESSION非保留非保留保留保留SESSION_USER保留保留保留保留SET非保留保留保留保留SETOF非保留(不能是函数或类型)   SETS 非保留保留 SHARE非保留   SHOW非保留   SIMILAR保留(可以是函数)保留非保留 SIMPLE非保留非保留非保留 SIZE 非保留保留保留SMALLINT非保留(不能是函数或者类型)保留保留保留SOME保留保留保留保留SOURCE 非保留非保留 SPACE 非保留保留保留SPECIFIC 保留保留 SPECIFICTYPE 保留保留 SPECIFIC_NAME 非保留非保留 SQL 保留保留保留SQLCODE   保留SQLERROR   保留SQLEXCEPTION 保留保留 SQLSTATE 保留保留保留SQLWARNING 保留保留 SQRT 保留  STABLE非保留   START非保留保留保留 STATE 非保留保留 STATEMENT非保留非保留保留 STATIC 保留保留 STATISTICS非保留   STDDEV_POP 保留  STDDEV_SAMP 保留  STDIN非保留   STDOUT非保留   STORAGE非保留   STRICT非保留   STRUCTURE 非保留保留 STYLE 非保留非保留 SUBCLASS_ORIGIN 非保留非保留非保留SUBLIST  非保留 SUBMULTISET 保留  SUBSTRING非保留(不能是函数或类型)保留非保留保留SUM 保留非保留保留SYMMETRIC 保留非保留 SYSID非保留   SYSTEM 保留非保留 SYSTEM_USER 保留保留保留TABLE保留保留保留保留TABLESAMPLE 保留  TABLESPACE非保留   TABLE_NAME 非保留非保留非保留TEMP非保留   TEMPLATE非保留   TEMPORARY非保留非保留保留保留TERMINATE  保留 THAN  保留 THEN保留保留保留保留TIES 非保留  TIME非保留(不能是函数或类型)保留保留保留TIMESTAMP非保留(不能是函数或类型)保留保留保留TIMEZONE_HOUR 保留保留保留TIMEZONE_MINUTE 保留保留保留TO保留保留保留保留TOAST非保留   TOP_LEVEL_COUNT 非保留  TRAILING保留保留保留保留TRANSACTION非保留非保留保留保留TRANSACTIONS_COMMITTED 非保留非保留 TRANSACTIONS_ROLLED_BACK 非保留非保留 TRANSACTION_ACTIVE 非保留非保留 TRANSFORM 非保留非保留 TRANSFORMS 非保留非保留 TRANSLATE 保留非保留保留TRANSLATION 保留保留保留TREAT非保留(不能是函数或者类型)保留保留 TRIGGER非保留保留保留 TRIGGER_CATALOG 非保留非保留 TRIGGER_NAME 非保留非保留 TRIGGER_SCHEMA 非保留非保留 TRIM非保留(不能是函数或类型)保留非保留保留TRUE保留保留保留保留TRUNCATE非保留   TRUSTED非保留   TYPE非保留非保留非保留非保留UESCAPE 保留  UNBOUNDED 非保留  UNCOMMITTED非保留非保留非保留非保留UNDER 非保留保留  UNENCRYPTED非保留   UNION保留保留保留保留UNIQUE保留保留保留保留UNKNOWN非保留保留保留保留UNLISTEN非保留   UNNAMED 非保留非保留非保留UNNEST 保留保留 UNTIL非保留   UPDATE非保留保留保留保留UPPER 保留非保留保留USAGE非保留非保留保留保留USER保留保留保留保留USER_DEFINED_TYPE_CATALOG 非保留非保留 USER_DEFINED_TYPE_CODE 非保留  USER_DEFINED_TYPE_NAME 非保留非保留 USER_DEFINED_TYPE_SCHEMA 非保留非保留 USING保留保留保留保留VACUUM非保留   VALID非保留   VALIDATOR非保留   VALUE 保留保留保留VALUES非保留保留保留保留VARCHAR非保留(不能是函数或类型)保留保留保留VARIABLE  保留 VARYING非保留保留保留保留VAR_POP 保留  VAR_SAMP 保留  VERBOSE保留(可以是函数)   VIEW非保留非保留保留保留VOLATILE非保留   WHEN保留保留保留保留WHENEVER 保留保留保留WHERE保留保留保留保留WIDTH_BUCKET 保留  WINDOW 保留  WITH非保留保留保留保留WITHIN 保留  WITHOUT非保留保留保留 WORK非保留非保留保留保留WRITE非保留非保留保留保留YEAR非保留 保留保留ZONE非保留非保留保留保留