`
lhy2012
  • 浏览: 15814 次
  • 性别: 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存储过程总结*oracle存储过程总结*

    根据提供的文件信息,我们可以归纳出以下Oracle存储过程的相关知识点: ### Oracle存储过程基础概念 ...以上是基于提供的部分内容对Oracle存储过程进行的总结,包含了从基础概念到具体应用实例的全面解析。

    oracle总结oracle总结面试必备

    游标(Cursor)在Oracle中用于处理单条记录,尤其在循环处理大量数据时。通过DECLARE、OPEN、FETCH、CLOSE等步骤,可以逐行读取查询结果。游标在编写复杂的PL/SQL代码和处理动态数据时非常有用。 四、触发器 触发器...

    Oracle 游标循环

    本文将详细介绍Oracle中三种常见的游标循环方式:`Loop`循环、`While`循环以及`For`循环,并通过具体的示例代码来展示每种方法的特点及应用场景。 #### 二、游标基础概念 在深入探讨不同类型的循环之前,我们首先...

    Oracle循环示例

    ### Oracle循环示例详解 #### 一、概述 在Oracle数据库中,循环是处理重复执行相同或相似任务的重要工具之一。通过循环结构,可以有效地控制程序的流程,并且能够简化复杂的逻辑处理。本文将对提供的Oracle循环...

    oracle 隐式游标,显示游标,游标循环

    ### Oracle中的游标详解 #### 一、引言 在Oracle数据库中,游标是一种非常重要的机制,它允许用户在程序中对查询结果进行逐行处理。游标分为两种主要类型:**隐式游标**和**显示游标**。此外,还可以利用游标进行...

    Oracle性能问题总结

    Oracle 性能问题总结 Oracle 性能问题是数据库管理员和开发者经常遇到的一个棘手问题,本文总结了 Oracle 性能问题的解决方案,涵盖了物理模型优化、索引相关、SQL 相关、表设计和其他几个方面。 在物理模型优化...

    oracle存储过程总结.doc

    While 循环是 Oracle 存储过程中的一种循环结构,使用 While 语句可以根据条件执行操作。例如: ```sql create or replace procedure test(i in number) as begin while i i := i + 1; end LOOP; end test; ``` ...

    Oracle中把ArrayOracle中把

    总结,Oracle 中使用自定义类型模拟 Array,结合存储过程和 Java 应用程序,可以高效地处理批量数据操作。这种方式提高了代码的可读性和性能,因为数据的处理是在数据库层面完成的,减少了网络往返。同时,通过 JDBC...

    oracle 日常所用总结

    本文将基于“oracle 日常所用总结”的主题,深入探讨Oracle中的常用命令、触发器、游标、视图以及等待事件,旨在帮助用户更好地理解和应用这些关键概念。 1. **Oracle常用命令**: - 数据查询:`SELECT`语句是查询...

    oracle 存储过程学习总结

    Oracle存储过程学习总结涵盖了Oracle中存储过程的编写与应用,涉及到字符串处理、游标使用、PL/SQL编程等方面的知识点。 首先,字符串处理是存储过程中常见的操作。文章中提到了多个内置函数,如CONCAT用于连接字符...

    Oracle复习总结

    1. **表连接方式**:Oracle支持多种连接方式,如哈希连接(Hash Join)、合并连接(Merge Join)、嵌套循环连接(Nest Loop,也称为Cluster Join)和索引连接(Index Join)。哈希连接通过创建哈希表来匹配数据;...

    ORACLE数据库学习总结

    ### ORACLE数据库学习总结 #### 一、数据库简介与安装 **1、Oracle与SQL Server比较的优点:** - **跨平台支持:** Oracle支持多种操作系统平台,如Windows、Linux、Unix等,而SQL Server主要支持Windows系统。这...

    ORACLE中CLOB字段转String类型

    ### ORACLE中CLOB字段转String类型 在Oracle数据库中,`CLOB`(Character Large Object)是一种用于存储大量文本数据的数据类型。由于其能够存储非常大的文本块(最大可达4GB),因此常被用于存储文章、报告或任何...

    oracle与SQL server的语法差异总结

    - Oracle的游标声明使用 `DECLARE cursor 游标名 is select语句`,支持直接在FOR循环中使用,简化了游标操作。 - SQL Server的游标声明是 `DECLARE 游标名 cursor for select 语句`,操作游标需要显式地OPEN、...

    Oracle中hint的理解篇

    ### Oracle中Hint的理解与应用 #### 一、Hint概述 在Oracle数据库中,Hint是一种用于指导优化器如何生成执行计划的特殊语法。当基于代价的优化器(Cost-Based Optimizer, CBO)未能选择出最优的执行计划时,可以...

    Oracle的精髓总结

    Oracle数据库是世界上最流行的数据库管理系统之一,它提供了丰富的特性和功能,包括数据存储、事务处理、安全性、性能优化等。以下是对Oracle的一些核心知识点的详细解释: 1. **表的创建与约束**: - **主键约束*...

    oracle 存储过程批量提交

    在Oracle存储过程中实现批量提交通常涉及到循环结构以及条件判断。以下是一个典型的示例代码段: ```sql DECLARE i INTEGER; BEGIN FOR v_Opr IN ( -- 查询或获取需要更新的数据集 SELECT * FROM your_table )...

Global site tag (gtag.js) - Google Analytics