PL-SQL编程基础(3)

循环结构:

1、 LOOP循环结构

  语法:

  LOOP

    要执行的语句;

    EXIT WHEN <条件>   --条件满足则退出循环

  END LOOP;

  示例:循环输出1-10的整数  

DECLARE
  v_num NUMBER := 1;
BEGIN
     LOOP
         DBMS_OUTPUT.put_line(v_num);
         v_num := v_num + 1;
         EXIT WHEN v_num > 10;
     END LOOP;
END;

  LOOP结构的弊端:结构不够清晰,EXIT容易漏写。

2、WHILE循环结构

  语法:

  WHILE <布尔表达式> LOOP

    要执行的语句;

  END LOOP;

  示例:显示1-10的整数;  

DECLARE
  v_num NUMBER := 1;
BEGIN
     WHILE v_num <= 10 LOOP
         DBMS_OUTPUT.put_line(v_num);
         v_num := v_num + 1;
     END LOOP;
END;

3、FOR循环

  语法:

  FOR 循环计数器 IN [REVERSE] 下线...上限 LOOP

    要执行的语句;

  END LOOP;

  示例:显示1-10的整数  

DECLARE
  v_num NUMBER;
BEGIN
  FOR v_num IN 1..10 LOOP
          DBMS_OUTPUT.PUT_LINE(V_NUM);
    END LOOP;
END;

在for循环中,每循环一次,循环变量自动+1,使用关键字reverse,循环变量自动-1,跟在in reverse后的数字必须从小到大,而且必须是整数,不能是变量或者表达式,可以使用EXIT退出循环。

上一个例子中如果添加reverse则是降序输出。

总结:

循环结构可以重复执行某些操作,在已知循环次数情况下优先采用for循环,未知次数情况下采用while循环。EXIT可以嵌套在任何循环中,直接终止循环。 LOOP一般不使用!

时间: 2024-12-12 11:19:34

PL-SQL编程基础(3)的相关文章

Oracle PL/SQL 编程基础 实例

create table mytest(name varchar(20),password varchar(30)); create or replace procedure sp_pro2 is begin insert into mytest values('fc','123'); end; 查看错误信息 show error 如何调用该过程: 1, exec 过程名 (参数,..) 2.  call 过程名 (参数  ) set server output on begin dbms_ou

Oracle PL/SQL 编程基础 实例 2

if  循环  控制语句 if--then        endif if----then ----else   endif if-----then --elsif then ----else     endif --编写一个过程,可以 输入一个雇员名,如果该雇员的工资低于2000就给他增加10% create   or replace procedure  sp_pro6(spName varchar2) is v_sal  emp.sal %type; begin select sal in

【PL/SQL编程基础】

[PL/SQL编程基础]语法: declare 声明部分,例如定义变量.常量.游标 begin 程序编写,SQL语句 exception 处理异常 end: / 正斜杠表示执行程序快范例 -- Created on 2016/8/22 by VITAS declare 定义变量 v_num number; v_eno number; v_ename varchar2(10); begin v_num:=234; v_eno:=&empno; 接收输入变量 select ename into v_

pl/sql编程基础

PL/SQL 1.过程.函数.触发器是pl/sql编写的 2.过程.函数.触发器是存放在oracle数据库中的 3.pl/sql是非常强大的过程化语言 4.过程.函数.触发器可以在java程序中调用 pl/sql编写能节省一点时间就是提高了性能(量大),java直接调用数据库存放的过程,解析时间就节省下来了,提高了性能 模块化的设计思想----->存储过程 网络传输(java程序中编写的sql语言),直接调用数据库的过程节省了传输量 提高安全性(存储过程避免了数据库信息的泄漏) 缺点: 移植性不

PL/SQL 编程(一)基础,变量,分支,循环,异常

SQL和PL/SQL: SQL 结构化查询语言(Structural Query Language),是用来访问和操作关系型数据库的一种标准通用语言,属于第四代语言(4GL).可以方便的调用相应语句来去的结果,特点是非过程化,使用的时候不用指明执行的具体方法,不用关注实现的细节,但是某些情况下满足不了复杂业务流程的需求. PL/SQL是 Procedure Language & Structured Query Language 的缩写.属于第三代语言(3GL),是一种过程化语言.PL/SQL是

[顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功)

原文:[顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功) [顶]ORACLE PL/SQL编程详解之二: PL/SQL块结构和组成元素(为山九仞,岂一日之功) 继上四篇:ORACLE PL/SQL编程之八:把触发器说透                ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!)                [推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到) [推荐]

[推荐]ORACLE PL/SQL编程详解之三:PL/SQL流程控制语句(不给规则,不成方圆)

原文:[推荐]ORACLE PL/SQL编程详解之三:PL/SQL流程控制语句(不给规则,不成方圆) [推荐]ORACLE PL/SQL编程详解之三: PL/SQL流程控制语句(不给规则,不成方圆) ——通过知识共享树立个人品牌. 继上五篇: [顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功) [推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到) [推荐]ORACLE PL/SQL编程之五:异常错误处理(知已知彼.百战不

[推荐]ORACLE PL/SQL编程详解之一:PL/SQL 程序设计简介(千里之行,始于足下)

原文:[推荐]ORACLE PL/SQL编程详解之一:PL/SQL 程序设计简介(千里之行,始于足下) [推荐]ORACLE PL/SQL编程详解之一: PL/SQL 程序设计简介(千里之行,始于足下) ——通过知识共享树立个人品牌. 继上六篇: [顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功) [推荐]ORACLE PL/SQL编程详解之三:PL/SQL流程控制语句(不给规则,不成方圆) [推荐]ORACLE PL/SQL编程之四:把游标说透(

pl/sql编程

body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI",Tahoma,Helvetica,Sans-Serif,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5;

PL/SQL 编程

一.什么是pl/sql pl/sql(procedural language/sql)是Oracle在标准的sql语言上的扩展,pl/sql不仅允许嵌入Sql语言,还可以定义变量和常量,允许使用条件语句和循环语句,允许使用例外处理各种错误,这样使得它的功能变得更加强大. 二.pl/sql学习的必要性 1.提高应用程序的运行性能. 2.模块化的设计思想. 3.减少网络传输量. 4.提高安全性. 三.编写规范 1.注释 单行注释-- sql>select * from emp where empno