PL/SQL循环
可能有一种情况,当需要执行的代码块的几个多次。在一般情况下,语句顺序执行:一个函数的第一条语句,首先执行,然后是第二个...等等。
编程语言提供了各种控制结构,允许更多复杂的执行路径。
循环语句可以让我们执行语句多次或一个组,下面是在大多数编程语言循环语句的一般形式:
PL/ SQL提供了循环以下类型的处理循环的要求。点击以下链接查看详细信息。
循环类型 | 描述 |
---|---|
PL/SQL基础循环 | 在这个循环结构,语句序列封闭在LOOP和END LOOP语句之间。在每次迭代中,语句序列被执行,然后在循环的顶部恢复控制 |
PL/SQL WHILE循环 | 重复声明语句或一组,而给定的条件为真,它测试条件执行循环体前 |
PL/SQL FOR循环 | 执行语句序列多次和简写管理该循环变量的代码 |
PL/SQL内嵌循环 | 可以使用一个或多个循环中的任何其它基本回路,同时或循环 |
标记一个PL/SQL循环
PL/ SQL循环可以被标记。标记应该用双尖括号括起来(<<和>>),并出现在LOOP语句的开头。标签名称也可以出现在循环语句结束。可以使用标签在EXIT语句从循环退出。
下面的程序说明了这个概念:
DECLARE i number(1); j number(1); BEGIN << outer_loop >> FOR i IN 1..3 LOOP << inner_loop >> FOR j IN 1..3 LOOP dbms_output.put_line('i is: '|| i || ' and j is: ' || j); END loop inner_loop; END loop outer_loop; END; /
当上述代码在SQL提示符执行时,它产生了以下结果:
i is: 1 and j is: 1 i is: 1 and j is: 2 i is: 1 and j is: 3 i is: 2 and j is: 1 i is: 2 and j is: 2 i is: 2 and j is: 3 i is: 3 and j is: 1 i is: 3 and j is: 2 i is: 3 and j is: 3 PL/SQL procedure successfully completed.
循环控制语句
循环控制语句改变其正常的顺序执行。当执行离开范围,在该范围内创建的所有对象自动被销毁。
PL/ SQL支持以下控制语句。标记循环也采取了循环外的控制。点击以下链接查看他们的详细资料。
控制语句 | 描述 |
---|---|
EXIT语句 | 在EXIT语句END LOOP后立即完成返回,控制进到该语句 |
CONTINUE语句 | 将导致循环跳过其主体的其余部分,并立即重新测试其使用情况声明之前 |
GOTO语句 | 控制权转移给标签的语句。虽然不建议在程序中使用GOTO语句 |