Oracle中的for和while循环

有两种方式可以实现条件循环

一、for  变量  in  开始数值...结束数值 loop     end loop;

二、while 条件 loop       end  loop;

loop的使用方式:

一、X := 100;

LOOP

X := X + 10;

IF X > 1000 THEN

EXIT;

END IF END LOOP;

Y := X;

二、 X := 100;

LOOP

X := X + 10;

EXIT WHEN X > 1000;

X := X + 10;

END LOOP;

Y := X;

还有一个GOTO的使用,在后面的过程中会有的,用来产生错误日志。

以下是一个非常简单的过程,用来熟悉循环的!

create or replace procedure count_number is

/*

功能描述:计算计算出1到100的和

t的值为和

*/

i number(10);

t number(10);

begin

/*

i := 1;

t := 0;

--用while+loop实现

/*begin

while i <= 100 loop

t := t + i;

i := i + 1;

end loop;

end;

*/

i := 1;

t := 0;

--用for实现

begin

for i in 1 .. 100 loop

t := t + i;

end loop;

end;

end count_number;

for循环:

[PL/SQL] 用For Loop 替代Cursor

CURSOR FOR Loop

FOR  employee_rec in c1  ---employee_rec直接用,不用提前定义

LOOP

total_val := total_val + employee_rec.monthly_income;

END LOOP;

当使用CURSOR FOR Loop时,不用我手工open cursor close cursor

应用:

begin

FOR emm IN ( SELECT ro_site, ns_site, product_line, wh_type

FROM eis_hq_invhl_mail_data

WHERE report_type = 'Detailed' )

LOOP

DBMS_OUTPUT.put_line( emm.product_line );

eis_hq_invhl_pkg.make_mail_detailed_data

( p_ro_site =>            emm.ro_site,

p_ns_site =>            emm.ns_site,

p_product_line =>       emm.product_line,

p_wh_type =>            emm.wh_type,

p_current_day =>        to_date('2005-11-07','yyyy-MM-dd') );

END LOOP;

end;

存储过程DIY2----游标与循环

while循环:

WHILE( i <= CEIL( LENGTH( p_clob_data ) / 4000 ))

LOOP

v_clob_data := TRIM( SUBSTR( p_clob_data,

i * 4000,

4000 ));

DBMS_OUTPUT.put_line( SUBSTR( v_clob_data,

0,

255 ));

i := i + 1;

END LOOP;

whiel oracle,Oracle中的for和while循环相关推荐

  1. 一起ORACLE数据库中数据查询结果不一致问题的排查过程

    一.问题描述 在某软件开发项目中,需要在ORACLE数据库中建立十张类型相同的员工信息表tb_employeeinfo0~tb_employeeinfo9,并建立向这十张表中插入数据的存储过程.ORA ...

  2. 批量插入数据库语句java_java相关:MyBatis批量插入数据到Oracle数据库中的两种方式(实例代码)...

    java相关:MyBatis批量插入数据到Oracle数据库中的两种方式(实例代码) 发布于 2020-7-22| 复制链接 本文通过实例代码给大家分享了MyBatis批量插入数据到Oracle数据库 ...

  3. 如何从Oracle数据库中的表中获取列名(字段名)列表?

    如何从Oracle数据库中的表中获取列名(字段名)列表? 目录 如何从Oracle数据库中的表中获取列名(字段名)列表? #示例一 #示例二 示例三: #示例一 可以获取: table_name:表名 ...

  4. oracle查询表中的某一行,oracle查看所有表及各表行数?

    在Oracle数据库中,查看所有表及对应个表的行数,只用一个select语句查询table_name和num_rows两个字段即可.table_name是表名,num_rows代表表的行数. 具体如下 ...

  5. 导出Windows服务器下的Oracle数据库并导入到Linux服务器下的Oracle数据库中

    2019独角兽企业重金招聘Python工程师标准>>> 说明: 1.Windows Oracle数据库 操作系统:Windows Server 2008 R2 IP地址:192.16 ...

  6. oracle 数据库中(创建、解锁、授权、删除)用户

    上文我们已经建立了名为orcl66的数据库. 想要在数据库中创建.修改用户需要我们以管理员权限登录到数据库中. 首先我们通过sqlplus命令登录连接数据库. 输入sqlplus命令--用户名: sy ...

  7. Oracle存储过程中异常Exception的捕捉和处理

    Oracle存储过程中异常的捕捉和处理 CREATE OR REPLACE Procedure Proc_error_process ( v_IN in Varchar2, v_OUT Out Var ...

  8. Oracle表里的照片怎么导出来,如何导出oracle数据库中某张表到excel_oracle数据库表格导出到excel...

    如何将oracle数据库表字段导成excel表格 这个你只要用ADO连oracle并获取记录集,根据你用的编程语言打开EXCEL,然后操作EXCEL对象的工作表就可以了.以VB为例: 1.在工程中引用 ...

  9. oracle 游标中抛出异常的处理方式

    在oracle游标的使用中,用for循环是一种较直接open 游标然后关闭游标更好的应用方式.现在写两个存储过程,验证这两种情况下游标中抛出异常后游标是否正常关闭. 现在有一张表emp,表结构如下: ...

最新文章

  1. Java 中文转拼音
  2. 证书格式pfx和cer的区别及转换
  3. python利器怎么编程-Python实现翻译小工具!几行代码搞定!装逼利器有没有!
  4. [YTU]_2435 ( C++ 习题 输出日期时间--友元函数)
  5. 使用java.util.prefs.Preferences代替java.util.Properties
  6. vue跨域解决及打包
  7. Windows函数错误处理
  8. 计算机系统配置有几方面要求,台式电脑安装win10系统配置要求有哪些
  9. word 产生很多temp 不显示_Word与PPT互转,怎样才能30秒内搞定?教程来了
  10. 易语言网页填表取不到cookie_易语言置外部浏览器Cookie例子(支持所有浏览器)...
  11. 全球首个航天大模型问世,文心秒补《富春山居图》,这是百度普惠AI的恒心...
  12. 马哥Linux命令大全
  13. Centos7 -- 用三种方法设置代理服务器上网
  14. 企业微信Windows版本调试
  15. macOS Mojave 使用SMB局域网共享作为TimeMachine时间机器的备份盘报错Disk does not support Time Machine backups. (error 45)
  16. PC - Chrome 浏览器如何开启无痕模式?
  17. offsetof 详解
  18. 51nod3146 绿豆蛙的归宿
  19. 【Stable Diffusion | AI 绘画】手把手教你体验--AI 生成唯美二次元
  20. 预警QQ空间假红包双十二,现金红包领取入口,数量有限,点击领取

热门文章

  1. 1814: 一元三次方程求解
  2. 计算机组成原理B1,计算机组成原理-本科生期末试卷B1.doc
  3. 云栖大会|感受万物数字化,体验千行视频化
  4. 混合云K8s容器化应用弹性伸缩实战
  5. 企业应用人工智能面临的挑战
  6. 想咸鱼翻身不粘锅?加油
  7. php数字两位小数_PHP保留两位小数的几种方法
  8. 以外包角度谈美术制程 Studio Voltz联合创始人开发经验
  9. 论https和http谁对网站优化更友好
  10. 数据库面试题【十、【非关系型数据库】和【关系型数据库】的【区别】与【优势比较】】