保留关键字 (Transact-SQL)
适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics Platform System (PDW) Microsoft Fabric 中的 SQL 终结点 Microsoft Fabric 中的仓库 Microsoft Fabric SQL 数据库
Microsoft SQL Server 将保留关键字用于定义、操作和访问数据库。 保留关键字是 SQL Server 使用的 Transact-SQL 语言语法的一部分,用于分析和理解 Transact-SQL 语句和批处理。 尽管在 Transact-SQL 脚本中使用 SQL Server 保留关键字作为标识符和对象名在语法上是可行的,但规定只能使用分隔标识符。
下表列出了 SQL Server 和 Azure Synapse Analytics 保留关键字。
ADD
EXTERNAL
PROCEDURE
ALL
FETCH
PUBLIC
ALTER
FILE
RAISERROR
AND
FILLFACTOR
READ
ANY
FOR
READTEXT
AS
FOREIGN
RECONFIGURE
ASC
FREETEXT
REFERENCES
AUTHORIZATION
FREETEXTTABLE
复制
BACKUP
FROM
RESTORE
BEGIN
FULL
RESTRICT
BETWEEN
FUNCTION
RETURN
BREAK
GOTO
REVERT
BROWSE
GRANT
REVOKE
BULK
GROUP
RIGHT
BY
HAVING
ROLLBACK
CASCADE
HOLDLOCK
ROWCOUNT
CASE
IDENTITY
ROWGUIDCOL
CHECK
IDENTITY_INSERT
RULE
CHECKPOINT
IDENTITYCOL
SAVE
CLOSE
IF
SCHEMA
CLUSTERED
IN
SECURITYAUDIT
COALESCE
INDEX
SELECT
COLLATE
INNER
SEMANTICKEYPHRASETABLE
COLUMN
INSERT
SEMANTICSIMILARITYDETAILSTABLE
COMMIT
INTERSECT
SEMANTICSIMILARITYTABLE
COMPUTE
INTO
SESSION_USER
CONSTRAINT
IS
SET
CONTAINS
JOIN
SETUSER
CONTAINSTABLE
KEY
SHUTDOWN
CONTINUE
KILL
SOME
CONVERT
LEFT
STATISTICS
CREATE
LIKE
SYSTEM_USER
CROSS
LINENO
TABLE
CURRENT
LOAD
TABLESAMPLE
CURRENT_DATE
MERGE
TEXTSIZE
CURRENT_TIME
NATIONAL
THEN
CURRENT_TIMESTAMP
NOCHECK
TO
CURRENT_USER
NONCLUSTERED
TOP
CURSOR
NOT
TRAN
DATABASE
Null
TRANSACTION
DBCC
NULLIF
TRIGGER
DEALLOCATE
OF
TRUNCATE
DECLARE
OFF
TRY_CONVERT
DEFAULT
OFFSETS
TSEQUAL
DELETE
ON
UNION
DENY
OPEN
UNIQUE
DESC
OPENDATASOURCE
UNPIVOT
DISK
OPENQUERY
UPDATE
DISTINCT
OPENROWSET
UPDATETEXT
DISTRIBUTED
OPENXML
USE
DOUBLE
OPTION
USER
DROP
OR
VALUES
DUMP
ORDER
VARYING
ELSE
OUTER
VIEW
End
OVER
WAITFOR
ERRLVL
PERCENT
WHEN
ESCAPE
PIVOT
WHERE
EXCEPT
PLAN
WHILE
EXEC
PRECISION
WITH
EXECUTE
PRIMARY
WITHIN GROUP
EXISTS
WRITETEXT
EXIT
PROC
下表列出了 Azure Synapse Analytics 专用的保留关键字。
LABEL
此外,ISO 标准定义了保留关键字列表。 不要使用 ISO 保留关键字作为对象名和标识符。 ODBC 保留关键字列表(如下表所示)与 ISO 保留关键字列表相同。
注意
ISO 标准保留关键字有时可能比 SQL Server 限制更多,有时则更少。 例如,ISO 保留关键字列表包含 INT。 SQL Server 不必将此区分为保留关键字。
Transact-SQL 保留关键字可用作数据库或数据库对象(如表、列、视图等)的标识符或名称。 使用带引号的标识符或分隔标识符。 不限制将保留关键字用作变量和存储过程参数的名称。
ODBC 保留关键字
保留了下列关键字以用于 ODBC 函数调用。 这些关键字根本不约束 SQL 语法;然而,为确保与支持核心 SQL 语法的驱动程序兼容,应用程序应避免使用这些关键字。
下面是当前的 ODBC 保留关键字列表。
ABSOLUTE
EXEC
OVERLAPS
ACTION
EXECUTE
PAD
ADA
EXISTS
PARTIAL
添加
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
未知
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
HOST
RELATIVE
ACTION
HOUR
RELEASE
ADMIN
IGNORE
RESULT
AFTER
IMMEDIATE
RETURNS
AGGREGATE
INDICATOR
ROLE
ALIAS
INITIALIZE
ROLLUP
ALLOCATE
INITIALLY
ROUTINE
ARE
INOUT
ROW
ARRAY
INPUT
ROWS
ASENSITIVE
INT
SAVEPOINT
ASSERTION
INTEGER
SCROLL
ASYMMETRIC
INTERSECTION
SCOPE
AT
INTERVAL
SEARCH
ATOMIC
ISOLATION
SECOND
BEFORE
ITERATE
SECTION
BINARY
LANGUAGE
SENSITIVE
BIT
LARGE
SEQUENCE
BLOB
LAST
SESSION
BOOLEAN
LATERAL
SETS
BOTH
LEADING
SIMILAR
BREADTH
LESS
SIZE
CALL
LEVEL
SMALLINT
CALLED
LIKE_REGEX
SPACE
CARDINALITY
LIMIT
SPECIFIC
CASCADED
LN
SPECIFICTYPE
CAST
LOCAL
SQL
CATALOG
LOCALTIME
SQLEXCEPTION
CHAR
LOCALTIMESTAMP
SQLSTATE
CHARACTER
LOCATOR
SQLWARNING
CLASS
MAP
START
CLOB
MATCH
状态
COLLATION
MEMBER
STATEMENT
COLLECT
METHOD
STATIC
COMPLETION
MINUTE
STDDEV_POP
CONDITION
MOD
STDDEV_SAMP
CONNECT
MODIFIES
STRUCTURE
CONNECTION
MODIFY
SUBMULTISET
CONSTRAINTS
MODULE
SUBSTRING_REGEX
CONSTRUCTOR
月
SYMMETRIC
CORR
MULTISET
SYSTEM
CORRESPONDING
NAMES
TEMPORARY
COVAR_POP
NATURAL
TERMINATE
COVAR_SAMP
NCHAR
THAN
CUBE
NCLOB
TIME
CUME_DIST
新增功能
TIMESTAMP
CURRENT_CATALOG
NEXT
TIMEZONE_HOUR
CURRENT_DEFAULT_TRANSFORM_GROUP
是
TIMEZONE_MINUTE
CURRENT_PATH
无
TRAILING
CURRENT_ROLE
NORMALIZE
TRANSLATE_REGEX
CURRENT_SCHEMA
NUMERIC
TRANSLATION
CURRENT_TRANSFORM_GROUP_FOR_TYPE
OBJECT
TREAT
CYCLE
OCCURRENCES_REGEX
true
DATA
OLD
UESCAPE
DATE
ONLY
UNDER
DAY
OPERATION
UNKNOWN
DEC
ORDINALITY
UNNEST
DECIMAL
OUT
USAGE
DEFERRABLE
OVERLAY
USING
DEFERRED
OUTPUT
值
DEPTH
PAD
VAR_POP
DEREF
参数
VAR_SAMP
DESCRIBE
PARAMETERS
VARCHAR
DESCRIPTOR
PARTIAL
VARIABLE
DESTROY
PARTITION
WHENEVER
DESTRUCTOR
PATH
WIDTH_BUCKET
DETERMINISTIC
POSTFIX
WITHOUT
DICTIONARY
PREFIX
WINDOW
DIAGNOSTICS
PREORDER
WITHIN
DISCONNECT
PREPARE
WORK
DOMAIN
PERCENT_RANK
WRITE
DYNAMIC
PERCENTILE_CONT
XMLAGG
EACH
PERCENTILE_DISC
XMLATTRIBUTES
ELEMENT
POSITION_REGEX
XMLBINARY
END-EXEC
PRESERVE
XMLCAST
EQUALS
PRIOR
XMLCOMMENT
EVERY
PRIVILEGES
XMLCONCAT
EXCEPTION
RANGE
XMLDOCUMENT
false
READS
XMLELEMENT
FILTER
REAL
XMLEXISTS
FIRST
RECURSIVE
XMLFOREST
FLOAT
REF
XMLITERATE
FOUND
REFERENCING
XMLNAMESPACES
FREE
REGR_AVGX
XMLPARSE
FULLTEXTTABLE
REGR_AVGY
XMLPI
FUSION
REGR_COUNT
XMLQUERY
GENERAL
REGR_INTERCEPT
XMLSERIALIZE
GET
REGR_R2
XMLTABLE
GLOBAL
REGR_SLOPE
XMLTEXT
GO
REGR_SXX
XMLVALIDATE
GROUPING
REGR_SXY
年
HOLD
REGR_SYY
ZONE
另请参阅
SET QUOTED_IDENTIFIER (Transact-SQL)
ALTER DATABASE Compatibility Level (Transact-SQL)