欢迎来到天天文库
浏览记录
ID:40571081
大小:51.74 KB
页数:20页
时间:2019-08-04
《MySQL reference manual》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、13.6.1BEGIN…ENDCompound-StatementSyntax[begin_label:]BEGIN[statement_list]END[end_label]BEGIN...ENDsyntaxisusedforwritingcompoundstatements,whichcanappearwithinstoredprograms(storedproceduresandfunctions,triggers,andevents).Acompoundstatementcancontai-nmultiplestatements,enclosedbytheBEGINandE
2、NDkeywords.statement_listrepresentsalistofoneormorestatement,eachterminatedbyasemicolon(;)statementdelimiter.Thestatement_listitselfisoptional,sotheemptycompoundstatement(BEGINEND)islegal.BEGIN...END语句是用于合成语句的,里面可以出现存储的程序(存储过程、函数、触发器和事件)。在BEGIN和END关键字里的范围里一个合成语句里可以包含多条语句。statement_list关键字表示一条或
3、多条语句的列表集合,每条语句结束标志为分号(;)语句定界符。这个语句列表是可选的,所以空的语句也是合法的。BEGIN...ENDblockscanbenested.Useofmultiplestatementsrequiresthataclientisabletosendstatementstringscontainingthe;statementdelimiter.Inthemysqlcommand-lineclient,thisishandledwiththedelimitercommand.Changingthe;end-of-statementdelimiter(forex
4、ample,to//)permit;tobeusedinaprogrambody.Foranexample,seeSection 18.1,“DefiningStoredPrograms”.ABEGIN...ENDblockcanbelabeled.SeeSection 13.6.2,“StatementLabelSyntax”.Theoptional[NOT]ATOMICclauseisnotsupported.ThismeansthatnotransactionalsavepointissetatthestartoftheinstructionblockandtheBEGINc
5、lauseusedinthiscontexthasnoeffectonthecurrenttransaction.NoteWithinallstoredprograms,theparsertreatsBEGIN[WORK]asthebeginningofaBEGIN...ENDblock.Tobeginatransactioninthiscontext,useSTARTTRANSACTIONinstead.BEGIN…END模块是可以嵌套的。使用多条语句则需要一个客户端能发送包含语句定界符;的语句字符串。在mysql命令行客户端中,这个用delimiter命令来处理。改变分号作为语
6、句结尾定界符(举个例子,改为//)允许分号用于一个程序体中。举一个例子,查看18.1章节,“DefiningStoredPrograms”。一个BEGIN..END模块式可以有标签的。查看13.6.2章节,“StatementLabelSyntax“。可选项[NOT]ATOMIC子句是不被支持的,这个意思是说在开始语句模块没有事务保存点并且BEGIN子句在该语境中使用对当前的事务不会有影响。备注:在所有的存储程序中,语句把BEGIN[WORK]作为一个BEGIN…END模块的开始。而在这种语境中开始一个事务则用STARTTRANSACTION替代。13.6.2. Statement
7、LabelSyntax[begin_label:]BEGIN[statement_list]END[end_label][begin_label:]LOOPstatement_listENDLOOP[end_label][begin_label:]REPEATstatement_listUNTILsearch_conditionENDREPEAT[end_label][begin_label:]WHILEsearch_conditionDOstatement_list
此文档下载收益归作者所有