在本章中,我们将讨论PL/SQL中的循环.可能存在需要多次执行代码块的情况.通常,语句按顺序执行:首先执行函数中的第一个语句,然后执行第二个语句,依此类推.
编程语言提供各种控制结构,允许执行更复杂的操作路径.
循环语句允许我们多次执行一个语句或一组语句,以下是大多数编程语言中循环语句的一般形式 :
PL/SQL提供以下类型的循环来处理循环要求.单击以下链接查看其详细信息.
S.No | 循环类型&描述 |
---|---|
1 | PL/SQL Basic LOOP In这个循环结构,语句序列包含在LOOP和END LOOP语句之间.在每次迭代时,执行语句序列,然后控制在循环的顶部继续. |
2 | PL/SQL WHILE LOOP中循环 在给定条件为真时重复语句或语句组.它在执行循环体之前测试条件. |
3 | PL/SQL FOR循环 多次执行一系列语句,并缩写管理循环变量的代码. |
4 | PL/SQL中的嵌套循环 您可以在任何其他基本循环内使用一个或多个循环,或者用于循环. |
标记PL/SQL循环
PL/SQL循环可以标记.标签应该用双尖括号(<<>>)括起来,并出现在LOOP语句的开头.标签名称也可以出现在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支持以下控制语句.标记循环也有助于将控件置于循环之外.单击以下链接查看其详细信息.
S.No | 控制声明&描述 |
---|---|
1 | EXIT statement EXIT语句中的title =Exit语句 Exit语句完成循环和控制在END LOOP之后立即传递给语句. |
2 | CONTINUE语句 使循环跳过其剩余部分,并在重复之前立即重新测试其状态. |
3 | GOTO语句 将控制转移到带标签的语句.虽然不建议在程序中使用GOTO语句. |