`
在水伊方
  • 浏览: 111098 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

ORACLE中的循环

 
阅读更多

循环可以多次运行一条或者多条语句。在PL/SQL中有3种类型的循环:

LOOP循环  直到显示结束条件出现之前一直运行。

WHILE  直达某个特定条件出现之前一直运行。

FOR循环  运行预先确定的次数。

接下来分别介绍这些循环

 

LOOP循环:

LOOP循环在显示结束它之前会一直运行,语法如下:

LOOP
    statements
END LOOP;

要结束LOOP循环,可以使用EXIT或EXIT WHEN语句,EXIT语句立即结束循环,EXIT WHEN语句在指定条件出现时结束循环。

例子:

--LOOP循环
SET SERVEROUTPUT ON;
DECLARE 
  counter INTEGER := 0;
BEGIN
  LOOP
    counter := counter + 1;
    dbms_output.put_line(counter);
    EXIT WHEN counter = 5;
  END LOOP;
END;
/

 

WHILE循环:

WHILE循环在某个特定条件出现之前一直运行,语法如下:

WHILE condition LOOP
    statements
END LOOP;

例子:

--WHILE循环
SET SERVEROUTPUT ON;
DECLARE
  counter INTEGER := 0;
BEGIN
  WHILE counter < 5 LOOP
    counter := counter + 1;
    dbms_output.put_line(counter);
  END LOOP;
END;
/

 

FOR循环:

FOR循环会运行预先确定的次数,可通过给循环变量指定下限和上限来确定循环运行的次数,然后,循环变量在每次循环中递增(或递减),语法如下:

FOR loop_variale IN [REVERSE] lower_bound.. upper_bound LOOP
    statements
END LOOP;

例子:

loop_variable指定循环变量,可以将已经存在的变量用作循环变量,也可以让循环语句自己创建循环变量(当所指定的变量不存在时会发生这种情况)。循环变量的值在每一次循环中都增加(如果使用了REVERSE关键字则减少)1。

REVERSE指定在每一次循环中循环变量都会减少。循环变量先被初始化为其上限,然后在每一次循环中递减1,直至达到其下限。下限依然要在上限之前定义。

lower_bound指定循环的上限。在没有使用REVERSE的情况下,循环变量初始化为这个下限值。

upper_bound指定循环的下限。如果使用了REVERSE,循环变量就初始化为这个上限。

例子:

--FOR循环
SET SERVEROUTPUT ON;
BEGIN  
  FOR count1 IN 1..5 LOOP
     dbms_output.put_line(count1);
  END LOOP;
END;
/

 

 

分享到:
评论

相关推荐

    Oracle 循环

    在本资源中,我们将介绍 Oracle 中的三种循环结构:For 循环、While 循环、Loop 循环,并通过实例代码讲解它们的用法和应用场景。 一、Oracle 中的 GOTO 用法 在 Oracle 中,GOTO 语句用于无条件跳转到指定的标签...

    oracle循环插入

    oracle循环插入oracle循环插入oracle循环插入oracle循环插入oracle循环插入oracle循环插入oracle循环插入oracle循环插入

    Oracle中的三种循环用法(Loop、For、While)

    Oracle中的三种循环用法(Loop、For、While) Oracle中的循环语句是PL/SQL语言中的一种基本结构,用于重复执行某些语句,以达到某些目的。下面将详细介绍Oracle中的三种循环用法:Loop、For、While。 Loop 循环 ...

    Oracle 游标循环

    本文将详细介绍Oracle中三种常见的游标循环方式:`Loop`循环、`While`循环以及`For`循环,并通过具体的示例代码来展示每种方法的特点及应用场景。 #### 二、游标基础概念 在深入探讨不同类型的循环之前,我们首先...

    Oracle循环示例

    这在调试过程中特别有用,可以帮助开发者查看循环中的变量变化情况。 #### 四、总结 通过本篇文章,我们不仅详细了解了Oracle循环示例的代码结构,还深入解析了其中的关键技术和应用场景。循环结构在数据库编程中...

    Oracle循环插入

    Oracle循环插入,用于添加测试数据。

    Oracle PLSQL存储过程循环LOOP跳处循环、退出循环、终止循环流程详解与实战指南

    5、高效性:通过学习资源中的循环控制方法,能够显著提高PL/SQL程序的运行效率和逻辑清晰度。 6、灵活性:丰富的控制策略使您能够根据不同业务需求灵活调整循环行为。 7、实用性强:所有示例均基于实际业务场景,...

    oracle循环游标

    这里,`i`被初始化为1,并在循环中递增,直到`i`等于10为止。每次循环,都会使用`dbms_output.put_line`函数输出`i`的当前值。这种类型的循环类似于其他编程语言中的`do...while`循环。 接下来的部分展示了序列...

    oracle 隐式游标,显示游标,游标循环

    ### Oracle中的游标详解 #### 一、引言 在Oracle数据库中,游标是一种非常重要的机制,它允许用户在程序中对查询结果进行逐行处理。游标分为两种主要类型:**隐式游标**和**显示游标**。此外,还可以利用游标进行...

    Oracle中实现Split函数功能

    Oracle 中实现 Split 函数功能 Oracle 中实现 Split 函数功能是指在 Oracle 数据库中实现类似于 C# 等编程语言中的 Split 函数,用于拆分字符的功能。下面是实现 Oracle 中 Split 函数功能的详细介绍。 首先,...

    oracle解决游标多维度循环查询效率过低方案

    多维度查询时通常需要建立多个游标循环,查询效率无法得到保障,现在通过游标和substr()函数相结合的方式提高查询效率

    kettle oracle循环分页迁移数据的完整例子,生成txt后FTP上传到远程服务器

    【标题】"kettle oracle循环分页迁移数据的完整例子,生成txt后FTP上传到远程服务器"揭示了几个关键的IT知识点,主要包括: 1. **Kettle(Pentaho Data Integration,PDI)**:Kettle是一款开源的数据集成工具,...

    Oracle中把ArrayOracle中把

    在过程体内,通过循环遍历传入的 Array 中的每个元素,并将其插入到指定的表(在这个例子中是 `tb`)中: ```sql CREATE OR REPLACE PROCEDURE test1(arr IN varchar_array) IS BEGIN FOR i IN arr.FIRST .. arr...

    oracle中用户连接问题.docx

    在Oracle数据库系统中,用户连接问题是一个常见的管理任务,特别是在多用户环境中。本文将详细解释如何查看和管理Oracle中的用户连接,以及如何获取客户端的IP地址。 首先,要查看当前Oracle数据库中的用户连接,你...

    oracle批量删除数据

    - `p_Count`: 每次循环中删除的数据量,如`10000`。 - **过程逻辑**: - 使用`WHILE 1 = 1 LOOP`进行无限循环,直到所有满足条件的数据都被删除。 - 通过`EXECUTE IMMEDIATE`动态执行SQL删除语句,每次只删除指定...

    ORACLE中CLOB字段转String类型

    ### ORACLE中CLOB字段转String类型 在Oracle数据库中,`CLOB`(Character Large Object)是一种用于存储大量文本数据的数据类型。由于其能够存储非常大的文本块(最大可达4GB),因此常被用于存储文章、报告或任何...

    基于C#连接Oracle数据库Oracle.ManagedDataAccess

    在`while`循环中,我们可以遍历并处理每一条记录。 除了查询,Oracle.ManagedDataAccess库还支持存储过程的调用、事务处理、参数化查询等功能,可以满足各种复杂的数据库操作需求。 总的来说,Oracle....

    Oracle采购应付循环Release 11i训练教材

    下面将详细介绍这个循环中的核心知识点。 1. **供应商管理**:Oracle采购应付循环首先涉及到供应商信息的维护,包括供应商的基本信息、银行账户、税务信息等。用户可以创建、更新和维护供应商档案,确保与供应商的...

Global site tag (gtag.js) - Google Analytics