`
lhy2012
  • 浏览: 15974 次
  • 性别: 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 游标FOR循环.doc

    Oracle 游标 FOR 循环是 Oracle 数据库中的一种编程技术,用于实现游标的循环操作。游标 FOR 循环可以代替传统的游标循环,具有简洁易用的优点。 游标 FOR 循环的优点 游标 FOR 循环的优点在于不需要显式的打开、...

    *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最常用的函数或方法总结

    以下是对"Oracle最常用的函数或方法总结"的详细阐述: 1. **字符串处理函数** - `CONCAT()`:用于连接两个或多个字符串。 - `SUBSTR()`:从字符串的指定位置截取指定长度的子串。 - `INSTR()`:查找字符串中指定...

    Oracle复习总结

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

    oracle中基础知识总结

    表空间是Oracle数据库中的基本存储单位。 - **分配和管理表空间**:创建、调整大小和删除表空间。 #### 表的管理 - **表的完整性与约束**:确保数据质量和一致性,包括主键、外键、唯一性等约束。 - **管理索引**...

    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姓名中文转全拼函数

    Oracle姓名中文转全拼函数是解决在Oracle数据库中处理中文姓名时的一个常见需求,特别是考虑到汉字的多样性和复杂性,包括生僻字和多音字的处理。此函数旨在将中文姓名转换为全拼,方便进一步的数据处理或搜索。下面...

    Oracle中hint的理解篇

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

Global site tag (gtag.js) - Google Analytics