当前位置:数据库 > SQLServer >>

SQL Server 的保留关键字一览

答案:SQL Server 保留关键字
Microsoft® SQL Server™ 2000 使用保留关键字定义、操作和访问数据库。保留关键字是 SQL Server 使用的 Transact-SQL 语言语法的一部分,用于分析和理解 Transact-SQL 语句和批处理。尽管在 Transact-SQL 脚本中,使用 SQL Server 保留关键字作为标识符和对象名在语法上是可行的,但规定只能使用分隔标识符。

下表列出了 SQL Server 的保留关键字。
ADDEXCEPTPERCENTALLEXECPLANALTEREXECUTEPRECISIONANDEXISTSPRIMARYANYEXITPRINTASFETCHPROCASCFILEPROCEDUREAUTHORIZATIONFILLFACTORPUBLICBACKUPFORRAISERRORBEGINFOREIGNREADBETWEENFREETEXTREADTEXTBREAKFREETEXTTABLERECONFIGUREBROWSEFROMREFERENCESBULKFULLREPLICATIONBYFUNCTIONRESTORECASCADEGOTORESTRICTCASEGRANTRETURNCHECKGROUPREVOKECHECKPOINTHAVINGRIGHTCLOSEHOLDLOCKROLLBACKCLUSTEREDIDENTITYROWCOUNTCOALESCEIDENTITY_INSERTROWGUIDCOLCOLLATEIDENTITYCOLRULECOLUMNIFSAVECOMMITINSCHEMACOMPUTEINDEXSELECTCONSTRAINTINNERSESSION_USERCONTAINSINSERTSETCONTAINSTABLEINTERSECTSETUSERCONTINUEINTOSHUTDOWNCONVERTISSOMECREATEJOINSTATISTICSCROSSKEYSYSTEM_USERCURRENTKILLTABLECURRENT_DATELEFTTEXTSIZECURRENT_TIMELIKETHENCURRENT_TIMESTAMPLINENOTOCURRENT_USERLOADTOPCURSORNATIONALTRANDATABASENOCHECKTRANSACTIONDBCCNONCLUSTEREDTRIGGERDEALLOCATENOTTRUNCATEDECLARENULLTSEQUALDEFAULTNULLIFUNIONDELETEOFUNIQUEDENYOFFUPDATEDESCOFFSETSUPDATETEXTDISKONUSEDISTINCTOPENUSERDISTRIBUTEDOPENDATASOURCEVALUESDOUBLEOPENQUERYVARYINGDROPOPENROWSETVIEWDUMMYOPENXMLWAITFORDUMPOPTIONWHENELSEORWHEREENDORDERWHILEERRLVLOUTERWITHESCAPEOVERWRITETEXT

另外,SQL-92 标准还定义了保留关键字列表。不要使用 SQL-92 保留关键字作为对象名和标识符。ODBC 保留关键字列表(如下所示)与 SQL-92 保留关键字列表相同。


说明  SQL-92 保留关键字列表有时可能比 SQL Server 限制更多,有时则限制更少。例如,SQL-92 保留关键字列表包含 INT,而 SQL Server 不需要将其区分为保留关键字。



Transact-SQL 保留关键字可用作数据库或数据库对象(如表、列、视图等)的标识符或名称。使用被引用的标识符或分隔标识符。对将保留关键字用作变量和存储过程参数的名称没有限制。
ODBC 保留关键字
保留了下列关键字用于 ODBC 函数调用。这些关键字根本不约束 SQL 语法;然而,为确保与支持核心 SQL 语法的驱动程序兼容,应用程序应避免使用这些关键字。

下面是当前的 ODBC 保留关键字列表。有关更多信息,请参见《Microsoft ODBC 3.0 程序员参考》,第 2 卷,附录 C。
ABSOLUTEEXECOVERLAPSACTIONEXECUTEPADADAEXISTSPARTIALADDEXTERNALPASCALALLEXTRACTPOSITIONALLOCATEFALSEPRECISIONALTERFETCHPREPAREANDFIRSTPRESERVEANYFLOATPRIMARYAREFORPRIORASFOREIGNPRIVILEGESASCFORTRANPROCEDUREASSERTIONFOUNDPUBLICATFROMREADAUTHORIZATIONFULLREALAVGGETREFERENCESBEGINGLOBALRELATIVEBETWEENGORESTRICTBITGOTOREVOKEBIT_LENGTHGRANTRIGHTBOTHGROUPROLLBACKBYHAVINGROWSCASCADEHOURSCHEMACASCADEDIDENTITYSCROLLCASEIMMEDIATESECONDCASTINSECTIONCATALOGINCLUDESELECTCHARINDEXSESSIONCHAR_LENGTHINDICATORSESSION_USERCHARACTERINITIALLYSETCHARACTER_LENGTHINNERSIZECHECKINPUTSMALLINTCLOSEINSENSITIVESOMECOALESCEINSERTSPACECOLLATEINTSQLCOLLATIONINTEGERSQLCACOLUMNINTERSECTSQLCODECOMMITINTERVALSQLERRORCONNECTINTOSQLSTATECONNECTIONISSQLWARNINGCONSTRAINTISOLATIONSUBSTRINGCONSTRAINTSJOINSUMCONTINUEKEYSYSTEM_USERCONVERTLANGUAGETABLECORRESPONDINGLASTTEMPORARYCOUNTLEADINGTHENCREATELEFTTIMECROSSLEVELTIMESTAMPCURRENTLIKETIMEZONE_HOURCURRENT_DATELOCALTIMEZONE_MINUTECURRENT_TIMELOWERTOCURRENT_TIMESTAMPMATCHTRAILINGCURRENT_USERMAXTRANSACTIONCURSORMINTRANSLATEDATEMINUTETRANSLATIONDAYMODULETRIMDEALLOCATEMONTHTRUEDECNAMESUNIONDECIMALNATIONALUNIQUEDECLARENATURALUNKNOWNDEFAULTNCHARUPDATEDEFERRABLENEXTUPPERDEFERREDNOUSAGEDELETENONEUSERDESCNOTUSINGDESCRIBENULLVALUEDESCRIPTORNULLIFVALUESDIAGNOSTICSNUMERICVARCHARDISCONNECTOCTET_LENGTHVARYINGDISTINCTOFVIEWDOMAINONWHENDOUBLEONLYWHENEVERDROPOPENWHEREELSEOPTIONWITHENDORWORKEND-EXECORDERWRITEESCAPEOUTERYEAREXCEPTOUTPUTZONEEXCEPTION  
将来的关键字
以下关键字可能会保留在将来的 SQL Server 版本中,作为将来要实现的新特性。注意,不要使用这些关键字作为标识符。
ABSOLUTEFOUNDPRESERVEACTIONFREEPRIORADMINGENERALPRIVILEGESAFTERGETREADSAGGREGATEGLOBALREALALIASGORECURSIVEALLOCATEGROUPINGREFAREHOSTREFERENCINGARRAYHOURRELATIVEASSERTIONIGNORERESULTATIMMEDIATERETURNSBEFOREINDICATORROLEBINARYINITIALIZEROLLUPBITINITIALLYROUTINEBLOBINOUTROWBOOLEANINPUTROWSBOTHINTSAVEPOINTBREADTHINTEGERSCROLLCALLINTERVALSCOPECASCADEDISOLATIONSEARCHCASTITERATESECONDCATALOGLANGUAGESECTIONCHARLARGESEQUENCECHARACTERLASTSESSIONCLASSLATERALSETSCLOBLEADINGSIZECOLLATIONLESSSMALLINTCOMPLETIONLEVELSPACECONNECTLIMITSPECIFICCONNECTIONLOCALSPECIFICTYPECONSTRAINTSLOCALTIMESQLCONSTRUCTORLOCALTIMESTAMPSQLEXCEPTIONCORRESPONDINGLOCATORSQLSTATECUBEMAPSQLWARNINGCURRENT_PATHMATCHSTARTCURRENT_ROLEMINUTESTATECYCLEMODIFIESSTATEMENTDATAMODIFYSTATICDATEMODULESTRUCTUREDAYMONTHTEMPORARYDECNAMESTERMINATEDECIMALNATURALTHANDEFERRABLENCHARTIMEDEFERREDNCLOBTIMESTAMPDEPTHNEWTIMEZONE_HOURDEREFNEXTTIMEZONE_MINUTEDESCRIBENOTRAILINGDESCRIPTORNONETRANSLATIONDESTROYNUMERICTREATDESTRUCTOROBJECTTRUEDETERMINISTICOLDUNDERDICTIONARYONLYUNKNOWNDIAGNOSTICSOPERATIONUNNESTDISCONNECTORDINALITYUSAGEDOMAINOUTUSINGDYNAMICOUTPUTVALUEEACHPADVARCHAREND-EXECPARAMETERVARIABLEEQUALSPARAMETERSWHENEVEREVERYPARTIALWITHOUTEXCEPTIONPATHWORKEXTERNALPOSTFIXWRITEFLASEPREFIXYEARFIRSTPREORDERZONEFLOATPREPARE 

上一个:解决两相同数据库数据同步的问题 (续)
下一个:解决两相同数据库数据同步的问题

Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,