`
lhy2012
  • 浏览: 15309 次
  • 性别: Icon_minigender_2
  • 来自: 济南
社区版块
存档分类
最新评论

oracle 中循环总结

阅读更多
--while循环控制语句  
-----------------------------------------------------------
declare
  i int := 1;
begin
  while i <= 10 loop
    dbms_output.put_line('当前循环体内i的值:' || i);
    i := i + 1;
  end loop;
end;
-----------------------------------------------------------
--for循环控制语句 递增                                    
-----------------------------------------------------------
begin
  for i in 1 .. 10 loop
    dbms_output.put_line('当前循环体内i的值:' || i);
  end loop;
end;

-----------------------------------------------------------
--for循环控制语句 递减  
-----------------------------------------------------------
begin
  for i in reverse 1 .. 10 loop
    dbms_output.put_line('当前循环体内i的值:' || i);
  end loop;
end;

-----------------------------------------------------------
--嵌套循环和标号  
-----------------------------------------------------------
declare
  result int := 0;
begin
  <<outer>>
  for i in 1 .. 20 loop
    <<inner>>
    for j in 1 .. 10 loop
      result := i * j;
      dbms_output.put_line('循环时,i=' || i || ',j=' || j || ',result的值:' ||
                           result);
      --当外层循环result值达到200时,跳出整个外层循环  
      exit outer when result = 200;
      --当内层循环result值达到100时,跳出内层循环  
      exit when result = 100;
    end loop inner;
    dbms_output.put_line('end inner ,result的值:' || result);
  end loop outer;
  dbms_output.put_line('end outter ,result的值:' || result);
end;

-----------------------------------------------------------
--游标 for循环
-----------------------------------------------------------
--数据准备
create table test(a varchar2(100));
insert into test values('test1');
insert into test values('test2');
insert into test values('test3');
commit;
--测试开始
declare
  testRow test%rowtype;
  cursor testRows is
    select * from test;
begin
  for testRow in testRows loop
    dbms_output.put_line(testRow.a ||'  '||
                         testRows%rowcount);
  end loop;
end;
--数据销毁
drop table test;

--------------------------------------------------------------
--循环插入数据库语句
declare 
    maxrecords constant int:=1000;  
    i int :=1;  
begin 
    for i in 1..maxrecords loop  
        insert into test(a)  
        values(to_char('test'||i));  
        end loop;  
    dbms_output.put_line(' 成功录入数据!');  
    commit;  
end; 
分享到:
评论
1 楼 zfms 2012-04-21  
引用
嵌套循环和标号  

不建议使用

相关推荐

    Oracle数据库经典学习教程

    2. Oracle中的伪列 51 3. Oracle函数 54 4. 本章总结 62 5. 本章练习 63 表空间、数据库对象 66 1. Oracle数据库对象 67 2. 同义词 67 3. 序列 70 4. 视图 72 5. 索引 74 6. 表空间 75 7. 本章总结 79 8. 本章练习 ...

    Oracle与MySQL区别总结

    很准确,很全面。尤其适合做数据库迁移的猿宝宝。包括以下几个方面的比较:数据类型,基本语法,函数,循环语句,存储过程,触发器,用户权限,其他。

    Oracle经典教程(珍藏)

    2. Oracle中的伪列 3. Oracle函数 4. 本章总结 5. 本章练习 表空间、数据库对象 1. Oracle数据库对象 2. 同义词 3. 序列 4. 视图 5. 索引 6. 表空间 7. 本章总结 8. 本章练习 PL/SQL程序设计 1. PL/...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    作者通过总结各自多年的软件开发和教学培训经验,与大家分享了掌握Oracle SQL所独有的丰富功能的技巧所在,内容涵盖SQL执行、联结、集合、分析函数、子句、事务处理等多个方面。读者可以学习到以下几个方面的技巧:...

    Oracle数据库、SQL

    20.3缺省是nocycle(不循环) 44 20.4缺省cache 20 44 二十一、 其他注意事项 46 21.1删除表,删除列,删除列中的值 46 21.2多对多关系的实现 46 21.3一对多(两张表) 46 21.4一对一 46 21.5数据库对象 46 12.6缺省...

    Oracle中三种表连接算法的总结

    1. 嵌套循环连接 (NESTED LOOP Join)嵌套连接把要处理的数据集分为外循环(驱动数据源)和内循环(被驱动数据源),外循环只执行一次(先执行),内循环执行的次数等于外循环执行的数据集个数。 这种连接的好处是...

    oracle存储过程-函数-语法-大全-详解.pdf

    Oracle 存储过程总结 1、创建存储过程 2、变量赋值 3、判断语句 4、For 循环 5、While 循环 6、数组 7.游标的使用

    收获不知Oracle

    2.2.3.2 体系结构中提交的探讨34 2.2.3.3 劳模的评选 38 2.2.3.4 回滚的研究 40 2.2.3.5 一致的查询 43 2.2.3.6 一致读的原理46 2.2.3.7 实践的体会 49 2.3 体系学习让SQL性能提升千倍 65 2.3.1 一起探索体系学习的...

    ORACLE速成手册 面向应用

    2. Oracle中的伪列 ............................................................................................................. 55 3. Oracle函数 ..........................................................

    oracler技术总结

    oracle数据库文件中的导入导出 Oracle字符串 函数大全 sqlldr使用小结 sql server 2000中循环插入100万条数据 读取前10条记录 等全是sql文件,直接开发使

    Linux Shell高级技巧实战总结

    八、在循环中使用管道的技巧 九、自链接脚本 十、Here文档的使用技巧 十一、获取进程的运行时长(单位: 分钟) 十二、模拟简单的top命令 十三、格式化输出指定用户的当前运行进程 十四、用脚本完成which命令的基本功能...

    精通SQL 结构化查询语言详解

    13.5.1 Oracle中用户、资源、概要文件、模式的概念 13.5.2 Oracle中的用户管理  13.5.3 Oracle中的资源管理  13.5.4 Oracle中的权限管理 13.5.5 Oracle中的角色管理  第14章 完整性控制 14.1 完整性约束...

    SQL21日自学通

    使用WHILE 循环在表中翻阅424 TRANSACT-SQL 中的通配符426 使用COMPUTE 来生成摘要报告426 日期转换427 SQL SERVER 的诊断工具— — SET 命令427 总结428 问与答428 校练场429 练习429 第20 天SQL*PLUS 430 目标430 ...

    Oracle In和exists not in和not exists的比较分析

    把这两个很普遍性的网友比较关心的问题总结回答一下。 in和exist的区别 从sql编程角度来说,in直观,exists不直观多一个select, in可以用于各种子查询,而exists好像只用于关联子查询 从性能上来看 exists是用loop...

    精通SQL--结构化查询语言详解

    13.5.1 oracle中用户、资源、概要文件、模式的概念 269 13.5.2 oracle中的用户管理 269 13.5.3 oracle中的资源管理 274 13.5.4 oracle中的权限管理 277 13.5.5 oracle中的角色管理 278 第14章 完整性控制 281 ...

    java 面试题 总结

    抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。...

    sql总结.doc

    在Oracle中,触发器是一种特殊的存储过程,也是由一组sql语句以及一些业务逻辑代码组成的。数据库可以通过增、删、改来触发触发器。 (2)触发器的基本写法 create or replace trigger tri_adddept AFTER INSERT ...

    JAVA(J2SEJ2EE)学习笔记pdf

    本人两个月来的学习笔记,经过老师的课件和总结精心整理而成。   内容包括:j2se语法、循环控制、OOP设计、方法设计、重写、重载、抽象类/方法、接口、异常处理、多线程、swing。以及部分oracle内容。   本笔记是...

    仓库物品管理系统设计方案书.doc

    在普通SQL语句的使用上增 加了编程语言的特点,所以PL/SQL把数据操作和查询语句组织在PL/SQL代码的过程性单 元中,通过逻辑判断、循环等操作实现复杂的功能或者计算。PL/SQL 只有 Oracle 数据库有。 查询系统是一种...

Global site tag (gtag.js) - Google Analytics