Oracle数据库第五课——PL/SQL中的迭代控制、loop简单循环和带条件循环、while循环、for循环、嵌套循环

本文详细介绍了Oracle数据库中PL/SQL的循环控制,包括loop简单循环、带条件的loop循环、while循环、数值型for循环及嵌套循环的使用,通过实例展示了各种循环结构及其在不同场景下的应用。
摘要由CSDN通过智能技术生成

知识点:简单循环,WHILE 循环,数值型 FOR 循环,CONTINUE 语句以及嵌套循环等。PL/SQL 有四种类型的循环:简单循环、WHILE 循环、FOR 循环以 及游标 FOR 循环。本章会讨论前三种循环,并学习 Oracle 11g 中所引入的 CONTINUE 和 CONTINUE  WHEN 语句,以及循环的嵌套使用。

 

1、loop循环的使用

1.1    简单循环loop的使用

       简单循环,就像其名称一样,是一种最基本的循环。 简单循环语句结构:

loop
    Statement 1;--循环语句
    Statement 2;
    ……
    Statement n;
end loop;

语法中:

        loop 是保留字,标识简单循环的开始。Statement_1 Statement_n 是循环体内容,也就是需要反复执行的语句。这些语句由一个或者多个结构语句组成。end loop 是表示循环结构结束的保留字。

       循环结构运行时,循环体内语句执行完一遍后,程序将再次执行循环体结构最开始的语句,并将无限制地执行,因为没有语句指定何时循环会终止。因此,简单循环称为无穷循环,因为无法退出这个循环。正确构造的循环需要退出条件,退出条件决定循环在何种情况下终止。退出条件有两种形式:EXIT EXIT WHEN。接下来我们来了解这两种形式。

示例练习1:使用简单loop循环,输出语句

declare
    v_num1 int := 0 ; --声明一个变量,设置初始值是0
begin  
    loop
        v_num1 := v_num1 + 1; 
        dbms_output.put_line( '这是第' || v_num1 || '遍,输出');
    end loop;    
end; 

输出结果演示:

结果说明:在使用简单loop输出时,提示错误:“ORA-20000: ORU-10027: buffer overflow, limit of 10000 bytes”,

错误出现的原因:因为在sqlplus下,如果set serveroutput on此时就会用dbms_output将相关的信息打印到屏幕上,如果sqlplus登录环境没有设置buffer的大小,默认情况下是10000,将打印打开也同时赋予10000的buffer,如果输出超过这个值,则会报以上错误!

解决办法:设置更大的buffer值,最大支持1000000!或者在begin后面加上DBMS_OUTPUT.ENABLE(buffer_size => null); ,表示输出buf

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逍遥小丸子

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值