Reservierte Schlüsselwörter (Transact-SQL)
MicrosoftSQL Server verwendet reservierte Schlüsselwörter zum Definieren, Bearbeiten und Zugreifen auf Datenbanken. Reservierte Schlüsselwörter sind ein Bestandteil der Grammatik der Transact-SQL-Sprache, die von SQL Server verwendet wird, um Transact-SQL-Anweisungen und -Batches zu analysieren und zu verstehen. Obwohl es syntaktisch möglich ist, reservierte Schlüsselwörter von SQL Server als Bezeichner und Objektnamen in Transact-SQL-Skripts zu verwenden, ist hierzu die Verwendung von begrenzten Bezeichnern erforderlich.
In der folgenden Tabelle werden die reservierten Schlüsselwörter von SQL Server aufgeführt.
ADD |
EXISTS |
PRECISION |
ALL |
EXIT |
PRIMARY |
ALTER |
EXTERNAL |
|
AND |
FETCH |
PROC |
ANY |
FILE |
PROCEDURE |
AS |
FILLFACTOR |
PUBLIC |
ASC |
FOR |
RAISERROR |
AUTHORIZATION |
FOREIGN |
READ |
BACKUP |
FREETEXT |
READTEXT |
BEGIN |
FREETEXTTABLE |
RECONFIGURE |
BETWEEN |
FROM |
REFERENCES |
BREAK |
FULL |
REPLICATION |
BROWSE |
FUNCTION |
RESTORE |
BULK |
GOTO |
RESTRICT |
BY |
GRANT |
RETURN |
CASCADE |
GROUP |
REVERT |
CASE |
HAVING |
REVOKE |
CHECK |
HOLDLOCK |
RECHTS |
CHECKPOINT |
IDENTITY |
ROLLBACK |
CLOSE |
IDENTITY_INSERT |
ROWCOUNT |
CLUSTERED |
IDENTITYCOL |
ROWGUIDCOL |
COALESCE |
IF |
RULE |
COLLATE |
IN |
SAVE |
COLUMN |
INDEX |
SCHEMA |
COMMIT |
INNER |
SECURITYAUDIT |
COMPUTE |
INSERT |
SELECT |
CONSTRAINT |
INTERSECT |
SESSION_USER |
CONTAINS |
INTO |
SET |
CONTAINSTABLE |
IS |
SETUSER |
CONTINUE |
JOIN |
SHUTDOWN |
CONVERT |
KEY |
SOME |
CREATE |
KILL |
STATISTICS |
CROSS |
LEFT |
SYSTEM_USER |
CURRENT |
LIKE |
TABLE |
CURRENT_DATE |
LINENO |
TABLESAMPLE |
CURRENT_TIME |
LOAD |
TEXTSIZE |
CURRENT_TIMESTAMP |
MERGE |
THEN |
CURRENT_USER |
NATIONAL |
TO |
CURSOR |
NOCHECK |
TOP |
DATABASE |
NONCLUSTERED |
TRAN |
DBCC |
NOT |
TRANSACTION |
DEALLOCATE |
NULL |
TRIGGER |
DECLARE |
NULLIF |
TRUNCATE |
DEFAULT |
OF |
TSEQUAL |
DELETE |
OFF |
UNION |
DENY |
OFFSETS |
UNIQUE |
DESC |
ON |
UNPIVOT |
DISK |
OPEN |
UPDATE |
DISTINCT |
OPENDATASOURCE |
UPDATETEXT |
DISTRIBUTED |
OPENQUERY |
USE |
DOUBLE |
OPENROWSET |
USER |
DROP |
OPENXML |
VALUES |
DUMP |
OPTION |
VARYING |
ELSE |
OR |
VIEW |
END |
ORDER |
WAITFOR |
ERRLVL |
OUTER |
WHEN |
ESCAPE |
OVER |
WHERE |
EXCEPT |
PERCENT |
WHILE |
EXEC |
PIVOT |
WITH |
EXECUTE |
PLAN |
WRITETEXT |
Darüber hinaus definiert der ISO-Standard eine Liste mit reservierten Schlüsselwörtern. Sie sollten keine dieser in ISO reservierten Schlüsselwörter für Objektnamen und -bezeichner verwenden. Die Liste der reservierten ODBC-Schlüsselwörter, die in der folgenden Tabelle aufgeführt werden, stimmt mit der Liste der reservierten ISO-Schlüsselwörter überein.
Hinweis |
---|
Die Liste der reservierten ISO-Schlüsselwörter kann in einigen Fällen stärker eingeschränkt sein als die von SQL Server, in anderen Fällen dagegen weniger. Beispielsweise enthält die Liste der reservierten ISO-Schlüsselwörter INT, während SQL Server dies nicht als reserviertes Schlüsselwort ansieht. |
Reservierte Transact-SQL-Schlüsselwörter können als Bezeichner oder Namen von Datenbanken oder Datenbankobjekten, z. B. Tabellen, Spalten, Sichten usw., verwendet werden. Verwenden Sie entweder Bezeichner in Anführungszeichen oder Bezeichner mit Begrenzungszeichen. Die Verwendung von reservierten Schlüsselwörtern als Namen von Variablen und gespeicherten Prozedurparametern ist nicht eingeschränkt. Weitere Informationen finden Sie unter Verwenden von Bezeichnern als Objektnamen.
Reservierte ODBC-Schlüsselwörter
Die folgenden Wörter sind für die Verwendung in ODBC-Funktionsaufrufen reserviert. Diese Wörter schränken nicht die minimale (minimum) SQL-Grammatik ein; damit jedoch die Kompatibilität mit Treibern sichergestellt ist, die die zentrale (core) SQL-Grammatik unterstützen, sollten Sie diese Schlüsselwörter nach Möglichkeit nicht verwenden.
Dies ist die aktuelle Liste der reservierten ODBC-Schlüsselwörter.
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 |
|
|
Zukünftige Schlüsselwörter
Die folgenden Schlüsselwörter werden möglicherweise in zukünftigen SQL Server-Versionen reserviert, wenn neue Features implementiert werden. Es empfiehlt sich, diese Wörter nicht als Bezeichner zu verwenden.
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 |
STATE |
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 |
MONTH |
SYMMETRIC |
CORR |
MULTISET |
SYSTEM |
CORRESPONDING |
NAMES |
TEMPORARY |
COVAR_POP |
NATURAL |
TERMINATE |
COVAR_SAMP |
NCHAR |
THAN |
CUBE |
NCLOB |
TIME |
CUME_DIST |
NEW |
TIMESTAMP |
CURRENT_CATALOG |
NEXT |
TIMEZONE_HOUR |
CURRENT_DEFAULT_TRANSFORM_GROUP |
NO |
TIMEZONE_MINUTE |
CURRENT_PATH |
NONE |
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 |
VALUE |
DEPTH |
PAD |
VAR_POP |
DEREF |
PARAMETER |
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 |
YEAR |
HOLD |
REGR_SYY |
ZONE |
Siehe auch