htbzwd 发表于 2015-7-4 16:15:15

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


  
页: [1]
查看完整版本: SQL Server 保留关键字