1
数据库技术及应用
1.9.2.2 6.2.2 循环语句
6.2.2 循环语句

如果需要重复执行程序中的一部分语句,可以使用WHILE循环语句实现,只要条件成立,语句或者语句块就会一直重复执行下去。可以使用BREAK和CONTINUE关键字在循环内部控制WHILE循环中语句的执行。

语法格式:

参数说明如下:

●Boolean_expression:返回TRUE或FALSE的条件表达式。如果布尔表达式中含有SELECT语句,则必须用括号将SELECT语句括起来。

●sql_statement|statement_block:TSQL语句或用语句块定义的语句分组。若要定义语句块,请使用控制流关键字BEGIN和END。

●BREAK:使程序从最内层的WHILE循环中退出。将执行出现在END关键字(循环结束的标记)后面的任何语句。

●CONTINUE:使WHILE循环重新开始执行,忽略CONTINUE关键字后面的任何语句。

WHILE循环语句的执行流程图如图6-10所示。

图6-10 WHILE循环语句的执行流程

从WHILE循环执行流程图可以看出其使用形式如下:

当条件表达式值为真时,执行循环体语句,然后再进行条件的判断。重复上述操作,直到条件表达式的值为假,退出循环体的执行,继续执行WHILE语句的下一语句。

【例6-13】编写代码计算并显示@n=1+2+3+...+100。代码如下:

【例6-14】编写代码计算并显示1~100之间的所有完全平方数。例如,81=92,则称81为完全平方数。代码如下:

注意:本例用到了BREAK语句和CONTINUE语句。

BREAK语句一般用在循环语句中,用于退出本层循环。当程序中有多层循环嵌套时,使用BREAK语句只能退出其所在的这一层循环。

CONTINUE语句一般用在循环语句中,重新开始WHILE循环。在CONTINUE关键字之后的任何语句都将被忽略,重新转到下一次循环条件的判断。

扩展:本例中,如果注释CONTINUE语句,该程序的结果有什么变化呢?