搜索
首页数据库Oracleoracle存储过程中的循环语句有哪些

oracle存储过程中的循环语句:1、LOOP循环,语法为“loop 循环体;EXIT WHEN 结束循环条件表达式;END LOOP;”;2、WHILE循环,语法为“while 条件表达式 loop 循环语句;end loop;”;3、for循环,语法为“for 变量 IN (reverse) 计数器下限值...计数器上限值 LOOP 循环体;END LOOP;”。

oracle存储过程中的循环语句有哪些

本教程操作环境:windows10系统、Oracle 12c版、Dell G3电脑。

oracle存储过程中的循环语句有哪些

当程序需要反复执行某一操作时,就必须使用循环结构。PL/SQL 中的循环语句主要包括LOOP语句、WHERE语句和FOR语句3种。

LOOP语句

LOOP语句会先执行一次循环体,然后再判断EXIT WHEN关键字后面的条件表达式是ture还是false,为true的时候退出循环体,否则程序将再次执行循环体。

基本语法:

loop
    A;
    EXIT WHEN B;
END LOOP;

A: 代表循环体中的sql语句,可以是一句也可能是多句,这是循环体核心部分,这些语句至少被执行一遍。

B: 循环结束条件表达式,为ture时,退出循环,否则再次执行循环体。

代码示例:

-- Created on 2020/12/16 by GUO 
declare 
  i int:= 0;
begin
  loop
    i:=i+1;
    dbms_output.put_line(i);
    EXIT WHEN i > 3;
  END LOOP;
end;

运行结果:

20.png

实战示例:

使用Loop+游标的时候,取游标当中的值,必须重新赋值一遍,要不然会报错。

-- Created on 2020/12/17 by GUO 
declare
  cursor user is
    select * from user_table;
  user1 user_table%rowtype;
begin
  open user;
  loop
    fetch user into user1;
    exit when user%notfound;
    dbms_output.put_line('用户名称:' || user1.USER_NAME);
    dbms_output.put_line('用户年龄:' || user1.USER_AGE);
  end loop;
  close user; --关闭游标
end;

WHILE语句

在执行之前,首先要判断条件表达式的值是否为true,true则执行循环体,否则退出WHILE循环,继续执行循环后面的代码。

基本语法:

while a loop
  b;
end loop;

A: 表示一个条件表达式,当值为true时,程序执行循环体,否则退出。

B: 循环体内的sql语句。

代码示例:

-- Created on 2020/12/17 by GUO 
declare
  i int := 0;
begin
  while i < 3 loop
    i := i + 1;
    dbms_output.put_line(i);
  end loop;
end;

运行结果:

21.png

实战示例:

-- Created on 2020/12/17 by GUO 
declare
  cursor user is
    select * from user_table;
  user1 user_table%rowtype;
begin
  open user;
  fetch user into user1;
  while(user%found)loop
  dbms_output.put_line(&#39;用户名称:&#39; || user1.USER_NAME);
  fetch user into user1;
  end loop;
end;

FOR语句

FOR语句是一个可提前设置循环次数的循环控制语句,它有一个循环计数器,通常是一个整型变量,通过这个计数器来控制循环次数。

基本语法:

for A IN (reverse) B...C LOOP
   D;
 END LOOP;

A: 表示一个变量,通常为证书类型,用来作为计数器,默认值是递增的,当循环当中使用reverse关键字时,就会循环递减。

B: 计数器下限值,当计数器的值小于下限值的时候,终止循环。

C: 计数器上限值,当计数器的值大于上限值的时候,终止循环。

D: 循环体。

代码示例:

-- Created on 2020/12/17 by GUO 
declare 
  i int := 0;
begin
  for i IN reverse 1..5 LOOP
    dbms_output.put_line(i);
  END LOOP;
end;

运行结果:

22.png

实战示例:

配合游标使用

-- Created on 2020/12/17 by GUO 
declare
  cursor user is
    select * from user_table;
begin
  for user1 in user loop
  dbms_output.put_line(&#39;用户名称:&#39;||user1.USER_NAME);
  dbms_output.put_line(&#39;用户年龄:&#39;||user1.USER_AGE);
  end loop;
end;

推荐教程:《Oracle视频教程

以上是oracle存储过程中的循环语句有哪些的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
使用Oracle软件:数据库管理及其他使用Oracle软件:数据库管理及其他Apr 24, 2025 am 12:18 AM

Oracle软件除了数据库管理外,还用于JavaEE应用、数据网格和高性能计算。1.OracleWebLogicServer用于部署和管理JavaEE应用。2.OracleCoherence提供高性能的数据存储和缓存服务。3.OracleExadata用于高性能计算。这些工具使得Oracle在企业IT架构中扮演了更加多元化的角色。

甲骨文在商业世界中的作用甲骨文在商业世界中的作用Apr 23, 2025 am 12:01 AM

Oracle不仅是数据库公司,还是云计算和ERP系统的领导者。1.Oracle提供从数据库到云服务和ERP系统的全面解决方案。2.OracleCloud挑战AWS和Azure,提供IaaS、PaaS和SaaS服务。3.Oracle的ERP系统如E-BusinessSuite和FusionApplications帮助企业优化运营。

Oracle Software正在行动:现实世界中的示例Oracle Software正在行动:现实世界中的示例Apr 22, 2025 am 12:12 AM

Oracle软件在现实世界中的应用包括电商平台和制造业。1)在电商平台,OracleDatabase用于存储和查询用户信息。2)在制造业,OracleE-BusinessSuite用于优化库存和生产计划。

Oracle软件:应用程序和行业Oracle软件:应用程序和行业Apr 21, 2025 am 12:01 AM

Oracle软件在多领域大放异彩的原因是其强大的应用性和定制化解决方案。1)Oracle提供从数据库管理到ERP、CRM、SCM的全面解决方案,2)其解决方案可根据金融、医疗、制造等行业特性进行定制,3)成功案例包括花旗银行、梅奥诊所和丰田汽车,4)优势在于全面性、定制化和可扩展性,但挑战包括复杂性、成本和集成问题。

在MySQL和Oracle之间进行选择:决策指南在MySQL和Oracle之间进行选择:决策指南Apr 20, 2025 am 12:02 AM

选择MySQL还是Oracle取决于项目需求:1.MySQL适合中小型应用和互联网项目,因其开源、免费和易用性;2.Oracle适用于大型企业核心业务系统,因其强大、稳定和高级功能,但成本较高。

甲骨文的产品:深度潜水甲骨文的产品:深度潜水Apr 19, 2025 am 12:14 AM

Oracle的产品生态包括数据库、中间件和云服务。1.OracleDatabase是其核心产品,支持高效的数据存储和管理。2.中间件如OracleWebLogicServer连接不同系统。3.OracleCloud提供全套云计算解决方案。

MySQL和Oracle:功能和功能的关键差异MySQL和Oracle:功能和功能的关键差异Apr 18, 2025 am 12:15 AM

MySQL和Oracle在性能、扩展性和安全性方面各有优势。1)性能:MySQL适合读操作和高并发,Oracle擅长复杂查询和大数据处理。2)扩展性:MySQL通过主从复制和分片扩展,Oracle使用RAC提供高可用性和负载均衡。3)安全性:MySQL提供细粒度权限控制,Oracle则有更全面的安全功能和自动化工具。

甲骨文:数据库管理甲骨文:数据库管理Apr 17, 2025 am 12:14 AM

Oracle被称为数据库管理的“Powerhouse”是因为其高性能、可靠性和安全性。1.Oracle是一个关系数据库管理系统,支持多种操作系统。2.它提供强大的数据管理平台,具有可扩展性、安全性和高可用性。3.Oracle的工作原理包括数据存储、查询处理和事务管理,支持性能优化技术如索引、分区和缓存。4.使用示例包括创建表、插入数据和编写存储过程。5.性能优化策略包括索引优化、分区表、缓存管理和查询优化。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),