SQL Server 保留关键字
Microsoft SQL Server 2005 使用保留关键字来定义、操作或访问数据库。保留关键字是 SQL Server 使用的 Transact-SQL 语言语法的一部分,用于分析和理解 Transact-SQL 语句和批处理。尽管在 Transact-SQL 脚本中使用 SQL Server 保留关键字作为标识符和对象名在语法上是可行的,但规定只能使用分隔标识符。
下表列出了 SQL Server 保留关键字。
ADD |
EXCEPT |
PERCENT |
ALL |
EXEC |
PLAN |
ALTER |
EXECUTE |
PRECISION |
AND |
EXISTS |
PRIMARY |
ANY |
EXIT |
|
AS |
FETCH |
PROC |
ASC |
FILE |
PROCEDURE |
AUTHORIZATION |
FILLFACTOR |
PUBLIC |
BACKUP |
FOR |
RAISERROR |
BEGIN |
FOREIGN |
READ |
BETWEEN |
FREETEXT |
READTEXT |
BREAK |
FREETEXTTABLE |
RECONFIGURE |
BROWSE |
FROM |
REFERENCES |
BULK |
FULL |
REPLICATION |
BY |
FUNCTION |
RESTORE |
CASCADE |
GOTO |
RESTRICT |
CASE |
GRANT |
RETURN |
CHECK |
GROUP |
REVOKE |
CHECKPOINT |
HAVING |
RIGHT |
CLOSE |
HOLDLOCK |
ROLLBACK |
CLUSTERED |
IDENTITY |
ROWCOUNT |
COALESCE |
IDENTITY_INSERT |
ROWGUIDCOL |
COLLATE |
IDENTITYCOL |
RULE |
COLUMN |
IF |
SAVE |
COMMIT |
IN |
SCHEMA |
COMPUTE |
INDEX |
SELECT |
CONSTRAINT |
INNER |
SESSION_USER |
CONTAINS |
INSERT |
SET |
CONTAINSTABLE |
INTERSECT |
SETUSER |
CONTINUE |
INTO |
SHUTDOWN |
CONVERT |
IS |
SOME |
CREATE |
JOIN |
STATISTICS |
CROSS |
KEY |
SYSTEM_USER |
CURRENT |
KILL |
TABLE |
CURRENT_DATE |
LEFT |
TEXTSIZE |
CURRENT_TIME |
LIKE |
THEN |
CURRENT_TIMESTAMP |
LINENO |
TO |
CURRENT_USER |
LOAD |
TOP |
CURSOR |
NATIONAL |
TRAN |
DATABASE |
NOCHECK |
TRANSACTION |
DBCC |
NONCLUSTERED |
TRIGGER |
DEALLOCATE |
NOT |
TRUNCATE |
DECLARE |
NULL |
TSEQUAL |
DEFAULT |
NULLIF |
UNION |
DELETE |
OF |
UNIQUE |
DENY |
OFF |
UPDATE |
DESC |
OFFSETS |
UPDATETEXT |
DISK |
ON |
USE |
DISTINCT |
OPEN |
USER |
DISTRIBUTED |
OPENDATASOURCE |
VALUES |
DOUBLE |
OPENQUERY |
VARYING |
DROP |
OPENROWSET |
VIEW |
DUMMY |
OPENXML |
WAITFOR |
DUMP |
OPTION |
WHEN |
ELSE |
OR |
WHERE |
END |
ORDER |
WHILE |
ERRLVL |
OUTER |
WITH |
ESCAPE |
OVER |
WRITETEXT |
另外,SQL-2003 标准还定义了保留关键字列表。不要使用 SQL-2003 保留关键字作为对象名和标识符。ODBC 保留关键字列表(如下表所示)与 SQL-2003 保留关键字列表相同。
注意: |
SQL-2003 保留关键字列表有时可能比 SQL Server 限制更多,有时则限制更少。例如,SQL-2003 保留关键字列表包含 INT,而 SQL Server 不需要将其区分为保留关键字。 |
Transact-SQL 保留关键字可用作数据库或数据库对象(如表、列、视图等)的标识符或名称。使用带引号的标识符或分隔标识符。不限制将保留关键字用作变量和存储过程参数的名称。有关详细信息,请参阅使用标识符作为对象名称。
ODBC 保留关键字
保留了下列关键字以用于 ODBC 函数调用。这些关键字根本不约束 SQL 语法;然而,为确保与支持核心 SQL 语法的驱动程序兼容,应用程序应避免使用这些关键字。
下面是当前的 ODBC 保留关键字列表。
ABSOLUTE |
EXEC |
OVERLAPS |
ACTION |
EXECUTE |
PAD |
ADA |
EXISTS |
PARTIAL |
ADD |
EXTERNAL |
PASCAL |
ALL |
EXTRACT |
POSITION |
ALLOCATE |
FALSE |
PRECISION |
ALTER |
FETCH |
PREPARE |
AND |
FIRST |
PRESERVE |
ANY |
FLOAT |
PRIMARY |
ARE |
FOR |
PRIOR |
AS |
FOREIGN |
PRIVILEGES |
ASC |
FORTRAN |
PROCEDURE |
ASSERTION |
FOUND |
PUBLIC |
AT |
FROM |
READ |
AUTHORIZATION |
FULL |
REAL |
AVG |
GET |
REFERENCES |
BEGIN |
GLOBAL |
RELATIVE |
BETWEEN |
GO |
RESTRICT |
BIT |
GOTO |
REVOKE |
BIT_LENGTH |
GRANT |
RIGHT |
BOTH |
GROUP |
ROLLBACK |
BY |
HAVING |
ROWS |
CASCADE |
HOUR |
SCHEMA |
CASCADED |
IDENTITY |
SCROLL |
CASE |
IMMEDIATE |
SECOND |
CAST |
IN |
SECTION |
CATALOG |
INCLUDE |
SELECT |
CHAR |
INDEX |
SESSION |
CHAR_LENGTH |
INDICATOR |
SESSION_USER |
CHARACTER |
INITIALLY |
SET |
CHARACTER_LENGTH |
INNER |
SIZE |
CHECK |
INPUT |
SMALLINT |
CLOSE |
INSENSITIVE |
SOME |
COALESCE |
INSERT |
SPACE |
COLLATE |
INT |
SQL |
COLLATION |
INTEGER |
SQLCA |
COLUMN |
INTERSECT |
SQLCODE |
COMMIT |
INTERVAL |
SQLERROR |
CONNECT |
INTO |
SQLSTATE |
CONNECTION |
IS |
SQLWARNING |
CONSTRAINT |
ISOLATION |
SUBSTRING |
CONSTRAINTS |
JOIN |
SUM |
CONTINUE |
KEY |
SYSTEM_USER |
CONVERT |
LANGUAGE |
TABLE |
CORRESPONDING |
LAST |
TEMPORARY |
COUNT |
LEADING |
THEN |
CREATE |
LEFT |
TIME |
CROSS |
LEVEL |
TIMESTAMP |
CURRENT |
LIKE |
TIMEZONE_HOUR |
CURRENT_DATE |
LOCAL |
TIMEZONE_MINUTE |
CURRENT_TIME |
LOWER |
TO |
CURRENT_TIMESTAMP |
MATCH |
TRAILING |
CURRENT_USER |
MAX |
TRANSACTION |
CURSOR |
MIN |
TRANSLATE |
DATE |
MINUTE |
TRANSLATION |
DAY |
MODULE |
TRIM |
DEALLOCATE |
MONTH |
TRUE |
DEC |
NAMES |
UNION |
DECIMAL |
NATIONAL |
UNIQUE |
DECLARE |
NATURAL |
UNKNOWN |
DEFAULT |
NCHAR |
UPDATE |
DEFERRABLE |
NEXT |
UPPER |
DEFERRED |
NO |
USAGE |
DELETE |
NONE |
USER |
DESC |
NOT |
USING |
DESCRIBE |
NULL |
VALUE |
DESCRIPTOR |
NULLIF |
VALUES |
DIAGNOSTICS |
NUMERIC |
VARCHAR |
DISCONNECT |
OCTET_LENGTH |
VARYING |
DISTINCT |
OF |
VIEW |
DOMAIN |
ON |
WHEN |
DOUBLE |
ONLY |
WHENEVER |
DROP |
OPEN |
WHERE |
ELSE |
OPTION |
WITH |
END |
OR |
WORK |
END-EXEC |
ORDER |
WRITE |
ESCAPE |
OUTER |
YEAR |
EXCEPT |
OUTPUT |
ZONE |
EXCEPTION |
将来的关键字
下列关键字可能会在将来的 SQL Server 版本中保留使用,作为将来要实现的新功能。注意,不要使用这些关键字作为标识符。
ABSOLUTE |
FOUND |
PREPARE |
ACTION |
FREE |
PRESERVE |
ADMIN |
FULLTEXTTABLE |
PRIOR |
AFTER |
GENERAL |
PRIVILEGES |
AGGREGATE |
GET |
READS |
ALIAS |
GLOBAL |
REAL |
ALLOCATE |
GO |
RECURSIVE |
ARE |
GROUPING |
REF |
ARRAY |
HOST |
REFERENCING |
ASSERTION |
HOUR |
RELATIVE |
AT |
IGNORE |
RESULT |
BEFORE |
IMMEDIATE |
RETURNS |
BINARY |
INDICATOR |
ROLE |
BIT |
INITIALIZE |
ROLLUP |
BLOB |
INITIALLY |
ROUTINE |
BOOLEAN |
INOUT |
ROW |
BOTH |
INPUT |
ROWS |
BREADTH |
INT |
SAVEPOINT |
CALL |
INTEGER |
SCROLL |
CASCADED |
INTERVAL |
SCOPE |
CAST |
ISOLATION |
SEARCH |
CATALOG |
ITERATE |
SECOND |
CHAR |
LANGUAGE |
SECTION |
CHARACTER |
LARGE |
SEQUENCE |
CLASS |
LAST |
SESSION |
CLOB |
LATERAL |
SETS |
COLLATION |
LEADING |
SIZE |
COMPLETION |
LESS |
SMALLINT |
CONNECT |
LEVEL |
SPACE |
CONNECTION |
LIMIT |
SPECIFIC |
CONSTRAINTS |
LOCAL |
SPECIFICTYPE |
CONSTRUCTOR |
LOCALTIME |
SQL |
CORRESPONDING |
LOCALTIMESTAMP |
SQLEXCEPTION |
CUBE |
LOCATOR |
SQLSTATE |
CURRENT_PATH |
MAP |
SQLWARNING |
CURRENT_ROLE |
MATCH |
START |
CYCLE |
MINUTE |
STATE |
DATA |
MODIFIES |
STATEMENT |
DATE |
MODIFY |
STATIC |
DAY |
MODULE |
STRUCTURE |
DEC |
MONTH |
TEMPORARY |
DECIMAL |
NAMES |
TERMINATE |
DEFERRABLE |
NATURAL |
THAN |
DEFERRED |
NCHAR |
TIME |
DEPTH |
NCLOB |
TIMESTAMP |
DEREF |
NEW |
TIMEZONE_HOUR |
DESCRIBE |
NEXT |
TIMEZONE_MINUTE |
DESCRIPTOR |
NO |
TRAILING |
DESTROY |
NONE |
TRANSLATION |
DESTRUCTOR |
NUMERIC |
TREAT |
DETERMINISTIC |
OBJECT |
TRUE |
DICTIONARY |
OLD |
UNDER |
DIAGNOSTICS |
ONLY |
UNKNOWN |
DISCONNECT |
OPERATION |
UNNEST |
DOMAIN |
ORDINALITY |
USAGE |
DYNAMIC |
OUT |
USING |
EACH |
OUTPUT |
VALUE |
END-EXEC |
PAD |
VARCHAR |
EQUALS |
PARAMETER |
VARIABLE |
EVERY |
PARAMETERS |
WHENEVER |
EXCEPTION |
PARTIAL |
WITHOUT |
EXTERNAL |
PATH |
WORK |
FALSE |
POSTFIX |
WRITE |
FIRST |
PREFIX |
YEAR |
FLOAT |
PREORDER |
ZONE |
SQL Server 保留关键字的更多相关文章
- 详解如何定义SQL Server外关键字约束
SQL Server外关键字约束定义了表之间的关系.当一个表中的一个列或多个列的组合和其它表中的主关键字定义相同时,就可以将这些列或列的组合定义为外关键字,并设定它适合哪个表中哪些列相关联.这样,当在 ...
- SQL Server 一些关键字详解(一)
1.CROSS APPLY 和OUTER APPLY MSDN解释如下(个人理解不是很清晰): 使用 APPLY 运算符可以为实现查询操作的外部表表达式返回的每个行调用表值函数.表值函数作为右输入,外 ...
- SQL Server(函数) 关键字的使用 三
三, 函数关键字 -- 使用介绍 28, Function的使用(Function的内建 SQL函数)? 内建 SQL 函数的语法是: SELECT function(列) FROM 表) 29, a ...
- SQL Server 一些关键字详解(二)
1.LEFT JOIN 容易让人误解的地方 背景:因为在网上搜了下 LEFT JOIN 和 OUTER APPLY 的区别,时发现,有的网友解释为: 1) A left join B 的连接 ...
- SQL Server(高级) 关键字的使用 二
二, 高级 关键字 -- 使用介绍 8,Top 的使用(Top子句返回记录的数目) select top number|percent column_name(s) from table_name 或 ...
- SQL Server 常用关键字
SQL 建库 建表 --1.创建一个数据库 create database School; --删除数据库 drop database School; --创建数据库的时候指定一些选项. create ...
- Sql Server 保留几位小数的两种做法
数据库里的 float momey 类型,都会精确到多位小数.但有时候 我们不需要那么精确,例如,只精确到两位有效数字. 1. 使用 Round() 函数,如 Round(@num,2) 参数 2 ...
- SQL Server(基本) 关键字的使用 一
一, 基础关键字 -- 使用介绍 1,select 的使用(select 结果集) SELECT 列名称 FROM 表名称 以及: (*)是选取所有列的快捷方式. SELECT * FROM 表名称 ...
- sql server保留小数解决方法
在数据库中,我们有时会用到小数,怎样在数据库中转化小数呢,下面是一些常用的方法. 1.使用Round(字段名/数字,小数保留位数)方法,如下所示: select Round(3.333,2) 结果如下 ...
随机推荐
- 网络编程释疑之:单台服务器上的并发TCP连接数可以有多少
曾几何时我们还在寻求网络编程中C10K问题的解决方案,但是现在从硬件和操作系统支持来看单台服务器支持上万并发连接已经没有多少挑战性了.我们先假设单台服务器最多只能支持万级并发连接,其实对绝大多数应用来 ...
- 深入理解java虚拟机(十三) Java 即时编译器JIT机制以及编译优化
在部分的商用虚拟机中,Java 程序最初是通过解释器( Interpreter )进行解释执行的,当虚拟机发现某个方法或代码块的运行特别频繁的时候,就会把这些代码认定为“热点代码”.为了提高热点代码的 ...
- solr&lucene3.6.0源码解析(一)
本文作为系列的第一篇,主要描述的是solr3.6.0开发环境的搭建 首先我们需要从官方网站下载solr的相关文件,下载地址为http://archive.apache.org/dist/luc ...
- linux 常见命令--系统信息部分
head -n 1 /etc/issue #查看操作系统 cat /etc/redhat-release #查看linux系统版本 cat /proc/meminfo |grep MemTot ...
- Linq分区操作之Skip,SkipWhile,Take,TakeWhile源码分析
Linq分区操作之Skip,SkipWhile,Take,TakeWhile源码分析 二:linq的分区操作 常用的分区操作:Take,TakeWhile,Skip,SkipWhile 三:Take ...
- 按照已有的模板输出<一>(如发票)
按照已有的模板输出<一> 普通的发票基本上都是固定模式,所以我们一般写好固定的模板,把其中需要变动的地方,以特定符号来代替.每次打印发票的时候,只需将其中的特定符号转换成我们需要显示的数据 ...
- 微软 eshop 数据存储之sqlserver
微软的eshop项目写的很牛,学起来也比较吃力,最近公司刚好有一本书,说的就是.NET微服务,记下来. 因为微软对性能的要求,docker里面要有内存要求 安装dokcer,拉镜象 : docker ...
- C# 获取唯一数字
/// <summary> /// 如果你想生成一个数字序列而不是字符串,你将会获得一个19位长的序列.下面的方法会把GUID转换为Int64的数字序列. /// </summary ...
- 对WEB前端的几段思考(一)——界面设计和性能优化(整理中)
尽管我并非艺术出生,既没有任何设计基础,又没有较高艺术涵养,也深谙在短时间内创造一定艺术造诣并非易事,但是既然当初选择从事网站前端开发,我的目光不能仅停留在前端代码上.作为一名志向在前端领域发展的人员 ...
- 1. Python2 ,Python3区别
Python2: 1. 源码都含有PHP,Java,C等语言的规范陋习. 2.重复代码比较多. Python3: 源码很规范,清晰,简单,符合Python的宗旨.