Oracle的三种循环
一.loop循环
语法:
声明循环变量
loop
判断循环条件 ,如果循环条件不成立,跳出循环
if 条件表达式 then
exit;
end if;
语句块;
改变循环变量的值
end loop;
举例:输出1到100以内的自然数
declare
-- 声明循环变量
v_i number(8):=1;
begin
loop
-- 判断循环条件,条件成立,跳出循环
if v_i>100 then
exit;
end if;
-- 输出1到100以内的自然数
dbms_output.put_line(v_i);
-- 改变循环变量的值
v_i:=v_i+1;
end loop;
end;
举例:输出部门表的所有内容
into只能用一个或者一行的方式赋值,我们可以用bulk collect into来给行类型变量整体赋值,也就是说可以一次性
把所有数据查询出来,为table类型的变量赋值。
declare
-- 声明table类型
type dept_table_type is table of dept%rowtype
index by binary_integer;
-- 声明table类型的变量,用来存储部门表的所有数据
v_dept dept_table_type;
-- 声明循环变量
v_i number(8):=1;
begin
-- 查询所有部门表的内容,放到v_dept变量中
select * bulk collect into v_dept from dept;
-- 循环除数v_dept变量中的值
loop
-- 判断循环条件
if v_i>v_dept.count then
exit;
end if;
dbms_output.put_line('部门编号:'||v_dept(v_i).deptno||',部门名称:'||v_dept(v_i).dname
||'部门位置:'||v_dept(v_i).loc);
-- 改变循环变量的值
v_i:=v_i+1;
end loop;
end;
二.while循环
语法:
声明循环变量,给循环变量赋初始值
while 条件表达式
loop
语句块;
改变循环变量的值
end loop;
举例:输出1到100以内的自然数
declare
-- 声明循环变量
v_i number(8):=1;
v_str varchar2(1000):='';
begin
--如果条件成立,执行循环
while v_i<=100
loop
v_str:=v_str||v_i||' ';
-- 改变循环变量的值
v_i:=v_i+1;
end loop;
dbms_output.put_line(v_str);
end;
三.for循环
语法:
for 循环变量 in 循环变量的开始值..循环变量的结束值
loop
语句块;
end loop;
注意:for循环,循环变量可以直接使用,不用声明。in 包含循环变量的开始值和结束值
举例:输出1到100以内的自然数
begin
-- 循环变量不用声明
for v_i in 1..100
loop
dbms_output.put_line(v_i);
end loop;
end;
举例:输出部门表的所有内容
declare
-- 声明table类型
type dept_table_type is table of dept%rowtype
index by binary_integer;
-- 声明table类型的变量,用来存储部门表的所有数据
v_dept dept_table_type;
begin
-- 查询所有部门表的内容,放到v_dept变量中
select * bulk collect into v_dept from dept;
-- 循环除数v_dept变量中的值
for v_i in v_dept.first..v_dept.last
loop
dbms_output.put_line('部门编号:'||v_dept(v_i).deptno||',部门名称:'||v_dept(v_i).dname
||'部门位置:'||v_dept(v_i).loc);
end loop;
end;
Oracle的三种循环的更多相关文章
- Oracle中三种循环(For、While、Loop)
1.ORACLE中的GOTO用法 DECLARE x number; BEGIN x := 9; <<repeat_loop>> --循环点 x := x - 1; DBMS_ ...
- Oracle中三种循环(For、While、Loop)案例
1.ORACLE中的FOR循环用法(九九乘法表) declare i ; j ; begin .. loop ..i loop Dbms_Output.put(i||'*'||j||'='||i*j) ...
- Oracle三种循环例题:打印九九乘法表
数据库SQL三种循环语句(For.While.Loop) --如果要将执行结果输出,需要先执行 setserveroutput on 命令,在窗口里显示服务器输出信息 set serveroutput ...
- Java语言----三种循环语句的区别
------- android培训.java培训.期待与您交流! ---------- 第一种:for循环 循环结构for语句的格式: for(初始化表达式;条件表达式;循环后的操作表达式 ...
- 【Java学习笔记之六】java三种循环(for,while,do......while)的使用方法及区别
第一种:for循环 循环结构for语句的格式: for(初始化表达式;条件表达式;循环后的操作表达式) { 循环体; } eg: class Dome_For2{ public st ...
- switch语句以及三种循环语句的总结
1:switch语句(1)格式:switch(表达式) {case 值1:语句体1;break;case 值2:语句体2;break;...default:语句体n+1;break;} 格式解释说明: ...
- JS中的三种循环
三种循环1.while 2.do while 3.for 1.while: 语法结构:while(条件){代码块:改变条件} 步骤:1.初始化变量 2.判断条件 3.执行代码块 4.改变初始条 ...
- java 三种循环及注意事项
package debug; public class Demo8 { public static void main(String[] args) { //采用for循环打印10次Java好 for ...
- Oracle数据库三种备份方案
Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP).热备份和冷备份.导出备件是一种逻辑备份,冷备份和热备份是物理备份. 一. 导出/导入(Export/Import) 利用 ...
随机推荐
- 编写高质量Python程序(三)基础语法
本系列文章为<编写高质量代码--改善Python程序的91个建议>的精华汇总. 关于导入模块 Python的3种引入外部模块的方式:import语句.from ... import ... ...
- java的多线程是如何实现的?和操作系统有什么关系?
本文是作者原创,版权归作者所有.若要转载,请注明出处.本文只贴我觉得比较重要的源码,其他不重要非关键的就不贴了 本文操作系统是centos7 1.查看 pthread_create 函数显示及其示例 ...
- 06-移动web之flex布局
一.基本概念 flex布局又叫伸缩布局 .弹性布局 .伸缩盒布局 .弹性盒布局 Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性. ...
- ASE课程总结 by 张葳
本期ASE课程分为两个阶段,第一阶段的personal project与第二阶段的team project,其中,第一阶段旨在锻炼我们个人的问题解决能力和编程能力,第二阶段则锻炼主要我们的管理能力,合 ...
- stand up meeting 12/3/2015
part 组员 今日工作 工作耗时/h 明日计划 工作耗时/h UI 冯晓云 初始化弹窗的弹出位置并捕捉弹窗区域内的鼠标控制事件,初步解决弹窗的拖拽功能: 6 UWP对控件的支持各种看不懂,属性 ...
- 【特征检测】BRISK特征提取算法
[特征检测]BRISK特征提取算法原创hujingshuang 发布于2015-07-24 22:59:21 阅读数 17840 收藏展开简介 BRISK算法是2011年ICCV上< ...
- 解决SpringMVC的乱码问题:CharacterEncodingFilter
在使用 SpringMVC 框架的过程中,如果前台有包含中文的请求,或者后台有包含中文的响应,有可能会出现乱码的情况.在以前的 Servlet 中,我们使用 request.setCharacterE ...
- DataTable运用
DataTable dataDis.AsEnumerable().Sum(bu => bu["QtyPlan"].ConvertInt32()); ndata.TDefSty ...
- 用Java代码来校验QQ号
校验qq号码: 1.要求必须是5-15位数字 2.0不能开头 分析: A:键盘录入一个qq号码 B:写一个功能实现校验 C:调用功能,输出结果. 代码实现:public class RegexDemo ...
- Java 自定义注解及注解读取解析--模拟框架生成SQL语句
假设们使用一张简单的表,结构如下: 定义注解: 表注解: package com.xzlf.annotation; import java.lang.annotation.ElementType; i ...