declare CURSOR CUR_CACC_CNC_GRP IS select CACC_OID,CACC_CNC_GRP_OID from CACC_CNC_GRP where effective_date<to_timestamp('01-02-2015 00:00:00.000000', 'dd-mm-yyyy hh24:mi:ss.ff') and (expiry_date is null or expiry_date>to_timestamp('01-02-2015 00:00:00.000000', 'dd-mm-yyyy hh24:mi:ss.ff')) and charge_group_oid in (select charge_group_oid from charge_group where regexp_substr(charge_group_code,'[[:digit:]]+\.?[[:digit:]]+')<'0.0025') ; V_CACC_OID CLIENT_ACCOUNT_2.CACC_OID%type; V_CACC_CNC_GRP_OID CACC_CNC_GRP.CACC_CNC_GRP_OID%type; BEGIN OPEN CUR_CACC_CNC_GRP; LOOP FETCH CUR_CACC_CNC_GRP INTO V_CACC_OID ,V_CACC_CNC_GRP_OID ; EXIT WHEN CUR_CACC_CNC_GRP%NOTFOUND; --UPDATE cacc_cnc_grp update CACC_CNC_GRP set expiry_date=to_timestamp('28-02-2015 00:00:00.000000', 'dd-mm-yyyy hh24:mi:ss.ff') WHERE CACC_OID=V_CACC_OID AND CACC_CNC_GRP_OID=V_CACC_CNC_GRP_OID; --Insert a new record to table cacc_cnc_grp insert into cacc_cnc_grp values ((select value from oid_value where name = 'DO_UID')+1,V_CACC_OID,(select charge_group_oid from charge_group where charge_group_code='C0.250_150'),NULL,to_timestamp('01-03-2015 00:00:00.000000', 'dd-mm-yyyy hh24:mi:ss.ff'), NULL, 1,'A',NULL,sysdate,sysdate,'SYSADMALL'); --Increment OID_VALUE update OID_VALUE set value = value +1 where name='DO_UID'; COMMIT; END LOOP; CLOSE CUR_CACC_CNC_GRP; EXCEPTION WHEN OTHERS THEN IF CUR_CACC_CNC_GRP%ISOPEN THEN CLOSE CUR_CACC_CNC_GRP; END IF; END; /
游标的操作
原创woaiacm2013 博主文章分类:ORACLE ©著作权
©著作权归作者所有:来自51CTO博客作者woaiacm2013的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
SQL数据库入门06:游标、存储过程的操作及T-SQL程序设计
本文介绍基于Microsoft SQL Server软件,实现数据库T-SQL语言程序设计,以及游标的定义、使用与存储过程的创建、信息查找的方法~
SQL 数据库 SQL Server MySQL 存储过程 -
Redis基础操作
redis知识梳理
redis Redis -
显示游标的属性
游标的属性 返回值类型 意 义
职场 休闲 游标属性 -
Oracle游标的使用
一、游标的相关概念及特性 1.定义 映射在结果集中某一行数据的具体位置,类似于C语言中的指针。即通过游标方式定位到结果集中某个特定的行,然后根据
Oracle 游标 SQL 显式 sql