予約済みキーワード (Transact-SQL)
Microsoft SQL Server では、データベースの定義、操作、アクセスに予約済みキーワードが使用されます。予約済みキーワードは Transact-SQL 言語の文法の一部です。SQL Server ではこの予約済みキーワードによって Transact-SQL ステートメントとバッチが解析され、理解されます。Transact-SQL スクリプトで、SQL Server の予約済みキーワードを識別子およびオブジェクト名として使用することは構文的に可能ですが、これは識別子を区切って使用するときに限られます。
次の表は、SQL Server の予約済みキーワードの一覧です。
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 |
RIGHT |
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 |
これに加えて、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 |
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 |
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 |