Oracle,跳出游标循环

1,跳出游标的循环,不执行遍历了。

方法一:goto

for c_row in 游标 loop

     if 条件 then

        dbms_output.put_line(‘测试跳出循环‘);
        goto breakLoop;

     end if;

end loop;

  <<breakLoop>>

首先在循环外面定义一个:<<方法名>>。这里的方法名可以随便起,作用就是给跳出循环后的位置定位。

然后使用:goto  方法名。在满足一定条件后就会跳出循环,到方法名那里。

方法二:EXIT

for c_row in 游标loop

     if  条件 then

           EXIT;

     end if;

end loop;

2,跳出本次循环,开始下次循环:continue

for c_row in 游标loop

     if  条件 then

           continue;

     end if;

end loop;

3,结束存储过程执行:return

return跳出存储过程

declare
V_KBP varchar2(10);
begin
loop
IF V_KBP IS NULL THEN
          return;
   END IF;
end loop;
dbms_output.put_line(‘退出‘);
end;  
时间: 2024-10-03 22:11:00

Oracle,跳出游标循环的相关文章

Oracle游标循环更新数据案例

declare v_XTXMBH number; v_ZJZJZJRQ varchar2(40); cursor c_job is SELECT XT.XTXMBH AS XTXMBH, QJ.ZJZJZJRQ AS ZJZJZJRQ FROM XTXMXX XT, QJGLXX_ZQL_MID QJ WHERE XT.XTXMBH = QJ.XTXMBH AND XT.XTXMCLRQ >= '20120630' AND (QJ.ZJQHZJRQ IS NULL OR QJ.ZJZJZJRQ

Oracle游标-循环查询表中数据(表名),并执行

Oralce 表中存有一个字段,该字段存储表名,要把该表中的所有表名查询出来(即表名结果集),且执行结果集from 表名结果集: declare v_ccount varchar2(100); --定义一个游标变量 cursor c_job is --查询该表中的所有表名 select tablename from tbname; c_row c_job%rowtype; begin --循环待处理数据,即以上查出的结果集 for c_row in c_job loop ---执行语句 from

oracle 隐式游标,显示游标,游标循环,动态SELECT语句和动态游标,异常处理和自定义异常

游标的概念:    游标是SQL的一个内存工作区,由系统或用户以变量的形式定义.游标的作用就是用于临时存储从数据库中提取的数据块.在某些情况下,需要把数据从存放在磁 盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或最终写回数据库.这样数据处理的速度才会提高,否则频繁的磁盘数据交换会降低效率.游标有两种类型:显式游标和隐式游标.在前述程序中用到的SELECT...INTO...查询语句,一次只能从数据库中提取一行数据,对于这种 形式的查询和DML操作,系统都会使用一个隐式游标.但是如果要

ORACLE游标循环【转】

ORACLE游标循环有几种用法,下面分别介绍一下. 首先定义游标和变量 CURSOR C1 IS SELECT  eNAME,ejob FROM emp WHERE deptno=10; v_NAME VARCHAR2(10); v_job VARCHAR2(10); 第一种:使用loop 循环 open c1; loop fetch c1 into v_name,v_job ; exit when c1%notfound; …… end loop colse c1; 这里需要注意,exit w

oracle for loop循环以及游标循环

1. for in loop形式 DECLARE    CURSOR c_sal IS SELECT employee_id, first_name || last_name ename, salary    FROM employees ; BEGIN    --隐含打开游标    FOR v_sal IN c_sal LOOP    --隐含执行一个FETCH语句       DBMS_OUTPUT.PUT_LINE(to_char(v_sal.employee_id)||'---'|| v

Oracle使用游标为所有用户表添加主键语句

应用场合:数据表新增自增一主键能加快数据表的访问速度,而且是整形的索引速度最快.本程序适合在导入Oracle数据库时删除不存在主键的情况下运行. 代码说明:所有的表主键字段名都设置为ID,如果已存在ID字段,则判断是否是整形,如果不是就重命名字段为[表名ID],然后新增ID,如果不存在则直接添加自增一ID的主键 操作说明:打开PQSQL连接数据库后直接执行下面的详细脚本代码运行即可,脚本有风险(会删除原来的索引跟主键约束),请不要轻易在正式运行的数据库上直接执行 --Oracle使用游标为所有用

Oracle使用游标删除所有用户数据表中的所有记录脚本

应用场景:因为数据库中的数据涉及机密信息,希望一次性能删除掉所有数据,只保留数据表结构,供新项目开发程序用 测试结果:经查询已删除所有数据 存在问题:数据表如果存在外键的话下面脚本可能执行不成功,请自行删除或者过滤掉该表,见下图 操作办法:直接将下面的脚本内容复制到PQSQL中执行即可 --Oracle使用游标删除所有用户数据表中的所有记录脚本 declare mystring NVARCHAR2(1000):=''; --定义要输出的字符串变量 cursor mycursor is --定义游

oracle中游标与动态绑定变量

一.      游标: 用数据库语言来描述:游标是映射在结果集中一行数据上的位置实体,有了游标用户就可以访问结果集中的任意一行数据了,将游标放置到某行后,即可对该行数据进行操作,例如提取当前行的数据等等. 在Oracle9i之前,使用FETCH语句每次只能提取一行数据:从Oracle9i开始,通过使用FETCH…BULK COLLECT INTO语句,每次可以提取多行数据.语法如下: (1) FETCH cursor_name INTO variable1,variable2,…: 此方法必须要

Oracle存储过程,游标使用

Oracle存储过程: 语法: CREATE [OR REPLACE] PROCEDURE procedure_name (arg1 [mode1] datatype1,arg2 [mode2] datatype2,...) IS [AS] PL/SQL BLOCK; mode用于指定输入输出参数:IN为输入参数,OUT为输出参数,当为输入参数时可以省去IN,OUT不能省去. 如果没有输入输出参数,可以省去 (arg1 [mode1] datatype1,arg2 [mode2] datatyp