多语言展示
当前在线:475今日阅读:2今日分享:31

ORACLED中的循环控制语句(LOOP)

ORACLE中循环语句也叫loop语句,它可以重复的执行指定的语句块。loop循环语句有四种形式:loop;while..loop;for..loop;cursor for loop;
工具/原料
1

ORACLE

2

PLSQL

基本LOOP循环
1

语法:[ <>]loop  statement...end loop [lable_name]

2

注释:lable_name:loop语句的标签,与结构控制语句case类似loop:循环的开始statement:循环体,也就是需要重复执行的语句end loop:循环结束标志基本loop循环由于没有控制循环结束语句,所以循环体中需要判断是否循环结束来控制循环,要不然会出现死循环的情况

4

代码解析:第2--6行:声明两个加数并赋予初始值第9--10:循环体,做四则运算,加数nu + 加数str1 的和在赋值给加数nu第11行:判断str1是否为真,为真则退出,为假则继续循环第13行:循环结束后打印输出结果

5

二、使用IF语句来判断是否循环结束例:求1+2+..+100的和DECLARE  str1 number;   nu   number; BEGIN  str1 := 1 ;  nu := 0 ;       <>   LOOP            nu := nu + str1;       str1 := str1+1;        IF str1>100 THEN     DBMS_OUTPUT.PUT_LINE('循环结束');     EXIT loop_text;   END IF;     END LOOP;      DBMS_OUTPUT.PUT_LINE('1+2+。。。+100的结果为:'||nu);  END;

6

代码解析:第1-6行与上诉一致,声明两个参数然后在赋值初始化第11-13行:使用IF语句做判断,条件为真这执行退出语句EXIT,条件为假则跳过继续循环

WHILE..LOOP循环语句
1

WHILE..LOOP循环语句自身可以控制结束循环,就不需要在循环体中通过判断来结束循环,基本语法为:[ <> ]WHILE boolean_expressionloop  statement....end loop [lable_name] ;注释:boolean_expression为一个布尔类型的值,当boolean_expression为真时执行loop语句,当boolean_expression为假时,则跳过当前的loop循环

2

例:求1+2+..+100的和DECLARE  str1 number;   nu   number; BEGIN  str1 := 1 ;  nu := 0 ;         <>  WHILE str1<=100 LOOP            nu := nu + str1;       str1 := str1+1;         END LOOP;      DBMS_OUTPUT.PUT_LINE('结束循环,1+2+。。。+100的结果为:'||nu);  END;

3

注释:第1-6行与上诉一致,声明两个参数然后在赋值初始化第8行:判断str1<=100是否为真,当str1为1.。100时,都小于等于100,所以为真则执行loop循环第9-12行:循环体

推荐信息