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

PRINT

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

 

posted @ 2010-04-23 01:08  邓维  阅读(6273)  评论(0编辑  收藏  举报