保留關鍵字 (Transact-SQL)Reserved Keywords (Transact-SQL)

適用於: 是SQL Server 是Azure SQL Database 是Azure SQL 資料倉儲 是平行處理資料倉儲 APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

MicrosoftMicrosoft SQL ServerSQL Server 利用保留的關鍵字來定義、操作和存取資料庫。SQL ServerSQL Server uses reserved keywords for defining, manipulating, and accessing databases. 保留的關鍵字是 Transact-SQLTransact-SQL 用來剖析及了解 SQL ServerSQL Server 陳述式和批次之 Transact-SQLTransact-SQL 語言文法的一部分。Reserved keywords are part of the grammar of the Transact-SQLTransact-SQL language that is used by SQL ServerSQL Server to parse and understand Transact-SQLTransact-SQL statements and batches. 雖然在語意上可以利用 SQL ServerSQL Server 保留關鍵字做為 Transact-SQLTransact-SQL 指令碼中的識別碼及物件名稱,但您必須分隔這些識別碼。Although it is syntactically possible to use SQL ServerSQL Server reserved keywords as identifiers and object names in Transact-SQLTransact-SQL scripts, you can do this only by using delimited identifiers.

下表列出 SQL ServerSQL Server 和 Azure SQL 資料倉儲的保留關鍵字。The following table lists SQL ServerSQL Server and Azure SQL Data Warehouse reserved keywords.

ADDADD EXTERNALEXTERNAL PROCEDUREPROCEDURE
ALLALL FETCHFETCH PUBLICPUBLIC
ALTERALTER FILEFILE RAISERRORRAISERROR
AND FILLFACTORFILLFACTOR READREAD
ANYANY FORFOR READTEXTREADTEXT
ASAS FOREIGNFOREIGN RECONFIGURERECONFIGURE
ASCASC FREETEXTFREETEXT REFERENCESREFERENCES
AUTHORIZATIONAUTHORIZATION FREETEXTTABLEFREETEXTTABLE 複寫REPLICATION
BACKUPBACKUP FROMFROM RESTORERESTORE
BEGINBEGIN FULLFULL RESTRICTRESTRICT
BETWEENBETWEEN FUNCTIONFUNCTION RETURNRETURN
BREAKBREAK GOTOGOTO REVERTREVERT
BROWSEBROWSE GRANTGRANT REVOKEREVOKE
BULKBULK GROUPGROUP RIGHTRIGHT
BYBY HAVINGHAVING ROLLBACKROLLBACK
CASCADECASCADE HOLDLOCKHOLDLOCK ROWCOUNTROWCOUNT
CASECASE IDENTITYIDENTITY ROWGUIDCOLROWGUIDCOL
CHECKCHECK IDENTITY_INSERTIDENTITY_INSERT RULERULE
CHECKPOINTCHECKPOINT IDENTITYCOLIDENTITYCOL SAVESAVE
CLOSECLOSE IFIF SCHEMASCHEMA
CLUSTEREDCLUSTERED ININ SECURITYAUDITSECURITYAUDIT
COALESCECOALESCE INDEXINDEX SELECTSELECT
COLLATECOLLATE INNERINNER SEMANTICKEYPHRASETABLESEMANTICKEYPHRASETABLE
COLUMNCOLUMN InsertINSERT SEMANTICSIMILARITYDETAILSTABLESEMANTICSIMILARITYDETAILSTABLE
COMMITCOMMIT INTERSECTINTERSECT SEMANTICSIMILARITYTABLESEMANTICSIMILARITYTABLE
COMPUTECOMPUTE INTOINTO SESSION_USERSESSION_USER
CONSTRAINTCONSTRAINT ISIS SETSET
CONTAINSCONTAINS JOINJOIN SETUSERSETUSER
CONTAINSTABLECONTAINSTABLE KEYKEY SHUTDOWNSHUTDOWN
CONTINUECONTINUE KILLKILL SOMESOME
CONVERTCONVERT LEFTLEFT STATISTICSSTATISTICS
CREATECREATE LIKELIKE SYSTEM_USERSYSTEM_USER
CROSSCROSS LINENOLINENO TABLETABLE
CURRENTCURRENT LOADLOAD TABLESAMPLETABLESAMPLE
CURRENT_DATECURRENT_DATE MERGEMERGE TEXTSIZETEXTSIZE
CURRENT_TIMECURRENT_TIME NATIONALNATIONAL THENTHEN
CURRENT_TIMESTAMPCURRENT_TIMESTAMP NOCHECKNOCHECK TOTO
CURRENT_USERCURRENT_USER NONCLUSTEREDNONCLUSTERED 頂端TOP
CURSORCURSOR NOTNOT TRANTRAN
DATABASEDATABASE NULLNULL TRANSACTIONTRANSACTION
DBCCDBCC NULLIFNULLIF TRIGGERTRIGGER
DEALLOCATEDEALLOCATE OFOF TRUNCATETRUNCATE
DECLAREDECLARE OFFOFF TRY_CONVERTTRY_CONVERT
DEFAULTDEFAULT OFFSETSOFFSETS TSEQUALTSEQUAL
DeleteDELETE ONON UNIONUNION
DENYDENY OPENOPEN UNIQUEUNIQUE
DESCDESC OPENDATASOURCEOPENDATASOURCE UNPIVOTUNPIVOT
DISKDISK OPENQUERYOPENQUERY UPDATEUPDATE
DISTINCTDISTINCT OPENROWSETOPENROWSET UPDATETEXTUPDATETEXT
DISTRIBUTEDDISTRIBUTED OPENXMLOPENXML USEUSE
DOUBLEDOUBLE OPTIONOPTION 使用者USER
DROPDROP OR VALUESVALUES
DUMPDUMP ORDERORDER VARYINGVARYING
ELSEELSE OUTEROUTER VIEWVIEW
ENDEND OVEROVER WAITFORWAITFOR
ERRLVLERRLVL PERCENTPERCENT WHENWHEN
ESCAPEESCAPE PIVOTPIVOT WHEREWHERE
EXCEPTEXCEPT PLANPLAN WHILEWHILE
EXECEXEC PRECISIONPRECISION 取代所有提及的WITH
執行 CREATE 陳述式之前,請先執行EXECUTE PRIMARYPRIMARY WITHIN GROUPWITHIN GROUP
EXISTSEXISTS PRINTPRINT WRITETEXTWRITETEXT
EXITEXIT PROCPROC

下表列出 Azure SQL 資料倉儲專屬的保留關鍵字。The following table lists reserved keywords that are exclusive to Azure SQL Data Warehouse.

LABELLABEL

另外,ISO 標準也定義了一份保留關鍵字的清單。Additionally, the ISO standard defines a list of reserved keywords. 請避免在物件名稱和識別碼上使用 ISO 保留關鍵字。Avoid using ISO reserved keywords for object names and identifiers. 下表所顯示的 ODBC 保留關鍵字清單與 ISO 保留關鍵字清單相同。The ODBC reserved keyword list, shown in the following table, is the same as the ISO reserved keyword list.

注意

ISO 標準保留關鍵字清單有時限制性大於 SQL ServerSQL Server,有時比較小。The ISO standards reserved keywords list sometimes can be more restrictive than SQL ServerSQL Server and at other times less restrictive. 例如,ISO 保留關鍵字清單包含 INTFor example, the ISO reserved keywords list contains INT. SQL ServerSQL Server 並不需要將它視為保留關鍵字。does not have to distinguish this as a reserved keyword.

Transact-SQLTransact-SQL 保留關鍵字可用來作為資料庫或資料庫物件 (如資料表、資料行、檢視等) 的識別碼或名稱。reserved keywords can be used as identifiers or names of databases or database objects, such as tables, columns, views, and so on. 請使用附加引號的識別字或分隔的識別碼。Use either quoted identifiers or delimited identifiers. 利用保留關鍵字作為變數和預存程序參數的名稱,並不會受到限制。Using reserved keywords as the names of variables and stored procedure parameters is not restricted.

ODBC 保留關鍵字ODBC Reserved Keywords

以下是 ODBC 函數呼叫所用的保留字。The following words are reserved for use in ODBC function calls. 這些字並不會限制最基礎的 SQL 文法;不過,為了確保與支援核心 SQL 文法的驅動程式相容,應用程式應該避免使用這些關鍵字。These words do not constrain the minimum SQL grammar; however, to ensure compatibility with drivers that support the core SQL grammar, applications should avoid using these keywords.

這是目前的 ODBC 保留關鍵字清單。This is the current list of ODBC reserved keywords.

ABSOLUTEABSOLUTE EXECEXEC OVERLAPSOVERLAPS
ACTIONACTION EXECUTEEXECUTE PADPAD
ADAADA EXISTSEXISTS PARTIALPARTIAL
ADDADD EXTERNALEXTERNAL PASCALPASCAL
ALLALL EXTRACTEXTRACT POSITIONPOSITION
ALLOCATEALLOCATE FALSEFALSE PRECISIONPRECISION
ALTERALTER FETCHFETCH PREPAREPREPARE
ANDAND FIRSTFIRST PRESERVEPRESERVE
ANYANY FLOATFLOAT PRIMARYPRIMARY
AREARE FORFOR PRIORPRIOR
ASAS FOREIGNFOREIGN PRIVILEGESPRIVILEGES
ASCASC FORTRANFORTRAN PROCEDUREPROCEDURE
ASSERTIONASSERTION FOUNDFOUND PUBLICPUBLIC
ATAT FROMFROM READREAD
AUTHORIZATIONAUTHORIZATION FULLFULL REALREAL
AVGAVG GETGET REFERENCESREFERENCES
BEGINBEGIN GLOBALGLOBAL RELATIVERELATIVE
BETWEENBETWEEN GOGO RESTRICTRESTRICT
BITBIT GOTOGOTO REVOKEREVOKE
BIT_LENGTHBIT_LENGTH GRANTGRANT RIGHTRIGHT
BOTHBOTH GROUPGROUP ROLLBACKROLLBACK
BYBY HAVINGHAVING ROWSROWS
CASCADECASCADE HOURHOUR SCHEMASCHEMA
CASCADEDCASCADED IDENTITYIDENTITY SCROLLSCROLL
CASECASE IMMEDIATEIMMEDIATE SECONDSECOND
CASTCAST ININ SECTIONSECTION
CATALOGCATALOG INCLUDEINCLUDE SELECTSELECT
CHARCHAR INDEXINDEX SESSIONSESSION
CHAR_LENGTHCHAR_LENGTH INDICATORINDICATOR SESSION_USERSESSION_USER
CHARACTERCHARACTER INITIALLYINITIALLY SETSET
CHARACTER_LENGTHCHARACTER_LENGTH INNERINNER SIZESIZE
CHECKCHECK INPUTINPUT SMALLINTSMALLINT
CLOSECLOSE INSENSITIVEINSENSITIVE SOMESOME
COALESCECOALESCE INSERTINSERT SPACESPACE
COLLATECOLLATE INTINT SQLSQL
COLLATIONCOLLATION INTEGERINTEGER SQLCASQLCA
COLUMNCOLUMN INTERSECTINTERSECT SQLCODESQLCODE
COMMITCOMMIT INTERVALINTERVAL SQLERRORSQLERROR
CONNECTCONNECT INTOINTO SQLSTATESQLSTATE
CONNECTIONCONNECTION ISIS SQLWARNINGSQLWARNING
CONSTRAINTCONSTRAINT ISOLATIONISOLATION SUBSTRINGSUBSTRING
CONSTRAINTSCONSTRAINTS JOINJOIN SUMSUM
CONTINUECONTINUE KEYKEY SYSTEM_USERSYSTEM_USER
CONVERTCONVERT LANGUAGELANGUAGE TABLETABLE
CORRESPONDINGCORRESPONDING LASTLAST TEMPORARYTEMPORARY
COUNTCOUNT LEADINGLEADING THENTHEN
CREATECREATE LEFTLEFT TIMETIME
CROSSCROSS LEVELLEVEL TIMESTAMPTIMESTAMP
CURRENTCURRENT LIKELIKE TIMEZONE_HOURTIMEZONE_HOUR
CURRENT_DATECURRENT_DATE LOCALLOCAL TIMEZONE_MINUTETIMEZONE_MINUTE
CURRENT_TIMECURRENT_TIME LOWERLOWER 收件人TO
CURRENT_TIMESTAMPCURRENT_TIMESTAMP MATCHMATCH TRAILINGTRAILING
CURRENT_USERCURRENT_USER MAXMAX TRANSACTIONTRANSACTION
CURSORCURSOR MINMIN TRANSLATETRANSLATE
DATEDATE MINUTEMINUTE TRANSLATIONTRANSLATION
DAYDAY MODULEMODULE TRIMTRIM
DEALLOCATEDEALLOCATE MONTHMONTH TRUETRUE
DECDEC NAMESNAMES UNIONUNION
DECIMALDECIMAL NATIONALNATIONAL UNIQUEUNIQUE
DECLAREDECLARE NATURALNATURAL UNKNOWNUNKNOWN
DEFAULTDEFAULT NCHARNCHAR UPDATEUPDATE
DEFERRABLEDEFERRABLE NEXTNEXT UPPERUPPER
DEFERREDDEFERRED NONO USAGEUSAGE
DELETEDELETE NONENONE USERUSER
DESCDESC NOTNOT USINGUSING
DESCRIBEDESCRIBE NULLNULL VALUEVALUE
DESCRIPTORDESCRIPTOR NULLIFNULLIF VALUESVALUES
DIAGNOSTICSDIAGNOSTICS NUMERICNUMERIC VARCHARVARCHAR
DISCONNECTDISCONNECT OCTET_LENGTHOCTET_LENGTH VARYINGVARYING
DISTINCTDISTINCT OFOF VIEWVIEW
DOMAINDOMAIN ONON WHENWHEN
DOUBLEDOUBLE ONLYONLY WHENEVERWHENEVER
DROPDROP OPENOPEN WHEREWHERE
ELSEELSE OPTIONOPTION WITHWITH
ENDEND OROR WORKWORK
END-EXECEND-EXEC ORDERORDER WRITEWRITE
ESCAPEESCAPE OUTEROUTER YEARYEAR
EXCEPTEXCEPT OUTPUTOUTPUT ZONEZONE
EXCEPTIONEXCEPTION

未來關鍵字Future Keywords

下列關鍵字可能保留給 SQL ServerSQL Server 實作新功能的未來版本。The following keywords could be reserved in future releases of SQL ServerSQL Server as new features are implemented. 請考慮避免使用這些字做為識別碼。Consider avoiding the use of these words as identifiers.

ABSOLUTEABSOLUTE HOSTHOST RELATIVERELATIVE
ACTIONACTION HOURHOUR RELEASERELEASE
ADMINADMIN IGNOREIGNORE RESULTRESULT
AFTERAFTER IMMEDIATEIMMEDIATE RETURNSRETURNS
AGGREGATEAGGREGATE INDICATORINDICATOR ROLEROLE
ALIASALIAS INITIALIZEINITIALIZE ROLLUPROLLUP
ALLOCATEALLOCATE INITIALLYINITIALLY ROUTINEROUTINE
AREARE INOUTINOUT ROWROW
ARRAYARRAY INPUTINPUT ROWSROWS
ASENSITIVEASENSITIVE INTINT SAVEPOINTSAVEPOINT
ASSERTIONASSERTION INTEGERINTEGER SCROLLSCROLL
ASYMMETRICASYMMETRIC INTERSECTIONINTERSECTION SCOPESCOPE
ATAT INTERVALINTERVAL SEARCHSEARCH
ATOMICATOMIC ISOLATIONISOLATION SECONDSECOND
BEFOREBEFORE ITERATEITERATE SECTIONSECTION
BINARYBINARY LANGUAGELANGUAGE SENSITIVESENSITIVE
BITBIT LARGELARGE SEQUENCESEQUENCE
BLOBBLOB LASTLAST SESSIONSESSION
BOOLEANBOOLEAN LATERALLATERAL SETSSETS
BOTHBOTH LEADINGLEADING SIMILARSIMILAR
BREADTHBREADTH LESSLESS SIZESIZE
CALLCALL LEVELLEVEL SMALLINTSMALLINT
CALLEDCALLED LIKE_REGEXLIKE_REGEX SPACESPACE
CARDINALITYCARDINALITY LIMITLIMIT SPECIFICSPECIFIC
CASCADEDCASCADED LNLN SPECIFICTYPESPECIFICTYPE
CASTCAST LOCALLOCAL SQLSQL
CATALOGCATALOG LOCALTIMELOCALTIME SQLEXCEPTIONSQLEXCEPTION
CHARCHAR LOCALTIMESTAMPLOCALTIMESTAMP SQLSTATESQLSTATE
CHARACTERCHARACTER LOCATORLOCATOR SQLWARNINGSQLWARNING
CLASSCLASS MAPMAP STARTSTART
CLOBCLOB MATCHMATCH STATESTATE
COLLATIONCOLLATION MEMBERMEMBER STATEMENTSTATEMENT
COLLECTCOLLECT METHODMETHOD STATICSTATIC
COMPLETIONCOMPLETION MINUTEMINUTE STDDEV_POPSTDDEV_POP
CONDITIONCONDITION MODMOD STDDEV_SAMPSTDDEV_SAMP
CONNECTCONNECT MODIFIESMODIFIES STRUCTURESTRUCTURE
CONNECTIONCONNECTION MODIFYMODIFY SUBMULTISETSUBMULTISET
CONSTRAINTSCONSTRAINTS MODULEMODULE SUBSTRING_REGEXSUBSTRING_REGEX
CONSTRUCTORCONSTRUCTOR MONTHMONTH SYMMETRICSYMMETRIC
CORRCORR MULTISETMULTISET SYSTEMSYSTEM
CORRESPONDINGCORRESPONDING NAMESNAMES TEMPORARYTEMPORARY
COVAR_POPCOVAR_POP NATURALNATURAL TERMINATETERMINATE
COVAR_SAMPCOVAR_SAMP NCHARNCHAR THANTHAN
CUBECUBE NCLOBNCLOB TIMETIME
CUME_DISTCUME_DIST NEWNEW timestampTIMESTAMP
CURRENT_CATALOGCURRENT_CATALOG NEXTNEXT TIMEZONE_HOURTIMEZONE_HOUR
CURRENT_DEFAULT_TRANSFORM_GROUPCURRENT_DEFAULT_TRANSFORM_GROUP NO TIMEZONE_MINUTETIMEZONE_MINUTE
CURRENT_PATHCURRENT_PATH NONE TRAILINGTRAILING
CURRENT_ROLECURRENT_ROLE NORMALIZENORMALIZE TRANSLATE_REGEXTRANSLATE_REGEX
CURRENT_SCHEMACURRENT_SCHEMA NUMERICNUMERIC TRANSLATIONTRANSLATION
CURRENT_TRANSFORM_GROUP_FOR_TYPECURRENT_TRANSFORM_GROUP_FOR_TYPE OBJECTOBJECT TREATTREAT
CYCLECYCLE OCCURRENCES_REGEXOCCURRENCES_REGEX TRUETRUE
DATADATA OLDOLD UESCAPEUESCAPE
DATEDATE ONLYONLY UNDERUNDER
DAYDAY OPERATIONOPERATION UNKNOWNUNKNOWN
DECDEC ORDINALITYORDINALITY UNNESTUNNEST
DECIMALDECIMAL OUTOUT USAGEUSAGE
DEFERRABLEDEFERRABLE OVERLAYOVERLAY USINGUSING
DEFERREDDEFERRED OUTPUTOUTPUT ValueVALUE
DEPTHDEPTH PADPAD VAR_POPVAR_POP
DEREFDEREF 參數PARAMETER VAR_SAMPVAR_SAMP
DESCRIBEDESCRIBE PARAMETERSPARAMETERS VARCHARVARCHAR
DESCRIPTORDESCRIPTOR PARTIALPARTIAL VARIABLEVARIABLE
DESTROYDESTROY PARTITIONPARTITION WHENEVERWHENEVER
DESTRUCTORDESTRUCTOR PATHPATH WIDTH_BUCKETWIDTH_BUCKET
DETERMINISTICDETERMINISTIC POSTFIXPOSTFIX WITHOUTWITHOUT
DICTIONARYDICTIONARY PREFIXPREFIX WINDOWWINDOW
DIAGNOSTICSDIAGNOSTICS PREORDERPREORDER WITHINWITHIN
DISCONNECTDISCONNECT PREPAREPREPARE WORKWORK
DOMAINDOMAIN PERCENT_RANKPERCENT_RANK WRITEWRITE
DYNAMICDYNAMIC PERCENTILE_CONTPERCENTILE_CONT XMLAGGXMLAGG
EACHEACH PERCENTILE_DISCPERCENTILE_DISC XMLATTRIBUTESXMLATTRIBUTES
ELEMENTELEMENT POSITION_REGEXPOSITION_REGEX XMLBINARYXMLBINARY
END-EXECEND-EXEC PRESERVEPRESERVE XMLCASTXMLCAST
EQUALSEQUALS PRIORPRIOR XMLCOMMENTXMLCOMMENT
EVERYEVERY PRIVILEGESPRIVILEGES XMLCONCATXMLCONCAT
EXCEPTIONEXCEPTION RANGERANGE XMLDOCUMENTXMLDOCUMENT
FALSEFALSE READSREADS XMLELEMENTXMLELEMENT
FILTERFILTER realREAL XMLEXISTSXMLEXISTS
FIRSTFIRST RECURSIVERECURSIVE XMLFORESTXMLFOREST
FLOATFLOAT REFREF XMLITERATEXMLITERATE
FOUNDFOUND REFERENCINGREFERENCING XMLNAMESPACESXMLNAMESPACES
FREEFREE REGR_AVGXREGR_AVGX XMLPARSEXMLPARSE
FULLTEXTTABLEFULLTEXTTABLE REGR_AVGYREGR_AVGY XMLPIXMLPI
FUSIONFUSION REGR_COUNTREGR_COUNT XMLQUERYXMLQUERY
GENERALGENERAL REGR_INTERCEPTREGR_INTERCEPT XMLSERIALIZEXMLSERIALIZE
GETGET REGR_R2REGR_R2 XMLTABLEXMLTABLE
GLOBALGLOBAL REGR_SLOPEREGR_SLOPE XMLTEXTXMLTEXT
GOGO REGR_SXXREGR_SXX XMLVALIDATEXMLVALIDATE
GROUPINGGROUPING REGR_SXYREGR_SXY YEARYEAR
HOLDHOLD REGR_SYYREGR_SYY ZONEZONE

另請參閱See Also

SET QUOTED_IDENTIFIER (Transact-SQL) SET QUOTED_IDENTIFIER (Transact-SQL)
ALTER DATABASE 相容性層級 (Transact-SQL)ALTER DATABASE Compatibility Level (Transact-SQL)