sql循环语句的写法.docx

sql循环语句的写法.docx

ID:62483564

大小:9.46 KB

页数:9页

时间:2021-05-09

sql循环语句的写法.docx_第1页
sql循环语句的写法.docx_第2页
sql循环语句的写法.docx_第3页
sql循环语句的写法.docx_第4页
sql循环语句的写法.docx_第5页
资源描述:

《sql循环语句的写法.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、sql循环语句的写法SQL循环语句declare@iintset@i=1while@i<30begininsertintotest(userid)values(@i)set@i=@i+1endwhile条件begin执行操作set@i=@i+1endWHILE设置重复执行SQL语句或语句块的条件。只要指定的条件为真,就重复执行语句。可以使用BREAK和CONTINUE关键字在循环内部控制WHILE循环中语句的执行。语法WHILEBoolean_expression{sql_statement

2、statement_block}[BREAK]{sql_statement

3、statem

4、ent_block}[CONTINUE]参数Boolean_expression返回TRUE或FALSE的表达式。如果布尔表达式中含有SELECT语句,必须用圆括号将SELECT语句括起来。{sql_statement

5、statement_block}Transact-SQL语句或用语句块定义的语句分组。若要定义语句块,请使用控制流关键字BEGIN和END。BREAK导致从最内层的WHILE循环中退出。将执行出现在END关键字后面的任何语句,END关键字为循环结束标记。CONTINUE使WHILE循环重新开始执行,忽略CONTINUE关键字后的任何语句。注释如果嵌套了两个或多个WHIL

6、E循环,内层的BREAK将导致退出到下一个外层循环。首先运行内层循环结束之后的所有语句,然后下一个外层循环重新开始执行。示例A.在嵌套的IF...ELSE和WHILE中使用BREAK和CONTINUE在下例中,如果平均价格少于$30,WHILE循环就将价格加倍,然后选择最高价。如果最高价少于或等于$50,WHILE循环重新启动并再次将价格加倍。该循环不断地将价格加倍直到最高价格超过$50,然后退出WHILE循环并打印一条消息。USEpubsGOWHILE(SELECTAVG(price)FROMtitles)<$30BEGINUPDATEtitlesSETprice=price*

7、2SELECTMAX(price)FROMtitlesIF(SELECTMAX(price)FROMtitles)>$50BREAKELSECONTINUEENDPRINT'Toomuchforthemarkettobear'B.在带有游标的过程中使用WHILE以下的WHILE结构是名为count_all_rows过程中的一部分。下例中,该WHILE结构测试用于游标的函数@@FETCH_STATUS的返回值。因为@@FETCH_STATUS可能返回-2、-1或0,所以,所有的情况都应进行测试。如果某一行在开始执行此存储过程以后从游标结果中删除,将跳过该行。成功提取(0)后将执行B

8、EGIN...END循环内部的SELECT语句。USEpubsDECLAREtnames_cursorCURSORFORSELECTTABLE_NAMEFROMINFORMATION_SCHEMA.TABLESOPENtnames_cursorDECLARE@tablenamesysname--SET@tablename='authors'FETCHNEXTFROMtnames_cursorINTO@tablenameWHILE(@@FETCH_STATUS<>-1)BEGINIF(@@FETCH_STATUS<>-2)BEGINSELECT@tablename

9、=RTRIM(@tablename)EXEC('SELECT'''+@tablename+'''=count(*)FROM'+@tablename)PRINT''ENDFETCHNEXTFROMtnames_cursorINTO@tablenameENDCLOSEtnames_cursorDEALLOCATEtnames_cursorC.延伸:--定义变量:declare@A1INT,@A2INT,@A3INT--定义游标DECLAREmy_CurCURSORFORSELECTA1,A2,A3FROMA--打开游标OPENmy_Cur--游标滚到下一行FETCHNEXTFROMmy_C

10、urINTO@A1,@A2,@A3--循环直到游标逐行读取完数据WHILE@@FETCH_STATUS=0BEGIN/*--这里做你想做的事情--请问print@A1+@A2+@A3--怎么实现,谢谢*/--游标滚到下一行FETCHNEXTFROMmy_CurINTO@A1,@A2,@A3END--关闭游标CLOSEmy_Cur--释放资源DEALLOCATEmy_Cur如何在SQL中使用循环结构解答FOR,LOOP,WHILE,REPEAT是

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。