`
raymond.chen
  • 浏览: 1419533 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Oracle游标(Cursor)的应用(一)

阅读更多
功能:将某个入库批次中号码数量等于40的札拆分成两札

declare row1 number;
cursor cr1 is 
    --取得要拆分的札库存记录
	select * from sim_card_zha_resource_ where zha_num_ in(
		select zha_num_ from (
			select zha_num_,count(id_) amount_ from sim_card_detail_
			where status_ not in('RESOURCE_STATUS_12','RESOURCE_STATUS_14')
			and zha_num_ like '20080328135622_%'
			having count(id_)=40
			group by zha_num_)
	) order by id_ asc;
begin
     row1 := 100;
     for x in cr1 --对数据集进行遍历处理
     loop
         row1 := row1 + 1;
         [u]dbms_output.put_line[/u](row1);
         
         declare row2 number;
         cursor cr2 is 
         select * from sim_card_detail_ where zha_num_=[u]x.zha_num_[/u] order by id_ asc;
         begin
             row2 := 0;
             for y in cr2
             loop
                 row2 := row2 + 1;
                 
                 --从第21条记录开始,这些记录将被分配到新的札中。这里需要添加新的札记录。
                 if(row2 = 21) then
                    insert into sim_card_zha_resource_(id_,send_org_id_,receive_org_id_,card_type_id_,box_num_,zha_num_,amount_,is134_,input_date_time_,last_active_date_,status_,input_sid_)
                    values(row1,x.send_org_id_,x.receive_org_id_,x.card_type_id_,x.box_num_,x.zha_num_ || '_2',20,x.is134_,x.input_date_time_,x.last_active_date_,x.status_,x.input_sid_);
                    
                    update sim_card_zha_resource_ set amount_=20 where id_=x.id_;
                 end if;
                 
                 --更新号码的札编号
                 if(row2 > 20) then
                    update sim_card_detail_ set zha_num_=x.zha_num_ || '_2' where id_=y.id_;
                 end if;
                 
             end loop;
             
             dbms_output.put_line(x.zha_num_ || '_2');
         end;
        
     end loop;
end;
分享到:
评论

相关推荐

    oracle游标使用及实例

    详细介绍了 oracle的游标使用 及 实例

    Oracle 游标使用总结

    Oracle游标分为显示游标和隐式游标。 显示游标(Explicit Cursor):在PL/SQL程序中定义的、用于查询的游标称作显示游标。 隐式游标(Implicit Cursor):是指非PL/SQL程序中定义的、而且是在PL/SQL中使用UPDATE/...

    ORACLE技术文档\oracle cursor 游标.doc

    ORACLE技术文档\oracle cursor 游标.docORACLE技术文档\oracle cursor 游标.docORACLE技术文档\oracle cursor 游标.doc

    修改后的oracle游标总结,比较的全面

    修改后的oracle游标总结,比较的全面 修改后的oracle游标总结,比较的全面 修改后的oracle游标总结,比较的全面

    oracle笔记游标的使用

    oracle笔记游标的使用,游标的详细代码案例,游标知识点笔记!

    oracle 游标入门

    ORACLE 游标的相关操作,轻轻松松学会ORACLE cursor

    Oracle 游标的使用

    在Oracle 9i及其以后的版本中,还增加了使用BULK COLLECT子句批量绑定数据和使用CURSOR表达式实现嵌套游标的功能。本章将主要介绍如何使用显式游标进行多行数据的查询、游标FOR循环以及游标变量的使用,另外还将介绍...

    cursor游标

    oracle数据库中的游标cursor在应用中具有极高的实用性。

    详解Oracle游标的简易用法

    下面看下Oracle游标的简易用法,具体代码如下所示: create or replace procedure NW_DelYW(iOPERATION_ID number, sUserID varchar2) is sCurDJBH yw_operation_link.djbh%type; cursor table_yw(ywid yw_...

    Oracle 游标循环

    Oracle 在模块中经常会使用游标进行数据相关操作,循环使用颇多。。。

    Latch Free、Library cache伪游标(pseudo cursor)之间的那些事

    你也在为LatchFree、Librarycache争用那些事头疼吗,快来看看本文作者是怎么解决的。

    oracle-cursor.rar_oracle

    oracle 游标的用法以及各种注意事项

    Oracle游标使用参考语句实例解析

    游标是从表中检索出结果集,从中每次指向一条记录进行交互的机制。 作用 指定结果集中特定行的位置。 基于当前的结果集位置检索一行或连续的几行。 在结果集的当前位置修改行中的数据。 对其他用户所做的数据...

    Oracle数据库游标连接超出解决方案

    oracle数据库忽然连不上了,一查是游标数量超了。 1.查看游标数 show parameter open_cursors 2.修改游标数 alter system set open_cursors = 10000; 3.获取打开的游标数 select o.sid, osuser, machine, count...

    oracle 声明游标(不具备字段)规则应用

    在开发过程中可能会声明一个含有某张表不具备字段的游标,来解决特殊问题,本文将详细介绍这类问题,需要了解更多的朋友可以参考下其中,data.*是一张表,然后把其他表中的字段也加到sal_data的游标中 Sql代码 代码...

    Oracle 数据 使用游标

    CURSOR c_cursor IS SELECT ID,Name FROM Temp_table; BEGIN OPEN c_cursor; LOOP FETCH c_cursor INTO sPara, sPara2; EXIT WHEN c_cursor%NOTFOUND; BEGIN –just do what you want. END; END LOOP; CLOSE c_cu

    Oracle出现超出打开游标最大数的解决方法

    本文实例讲述了Oracle出现超出打开游标最大数的解决方法。分享给大家供大家参考,具体如下: Java代码在执行conn.createStatement()和conn.prepareStatement()的时候,实际上都是相当与在数据库中打开了一个cursor。...

    Oracle面试题

    2. 显示游标是用cursor...is命令定义的游标,它可以对查询语句(select)返回的多条记录进行处理;隐式游标是在执行插入 (insert)、删除(delete)、修改(update)和返回单条记录的查询(select)语句时由PL/SQL自动定义的...

    oracle 在一个存储过程中调用另一个返回游标的存储过程

    第一种情况是返回的游标是某个具体的表或视图的数据,如: SQL-Code: 代码如下: CREATE OR REPLACE PROCEDURE P_TESTA ( PRESULT OUT SYS_REFCURSOR ) AS BEGIN OPEN PRESULT FOR SELECT * FROM USERS; END P_TESTA;...

Global site tag (gtag.js) - Google Analytics