oracle数据库存储过程范例(使用游标进行循环)

原创 2015年07月08日 16:30:44

使用游标进行循环。最后执行使用exec Counting;即可

create or replace PROCEDURE Counting AS
a_count number;
cursor authorListCursor is select ID from SCOPUS_AUTHOR ;
BEGIN
  delete from A_TEMP;
  for curAuthor in authorListCursor loop
    begin
--  找出某个作者有过合作的所有作者
      DECLARE cursor authorMapCursor is select distinct A.PUB_ID,A.AUTHOR_ID as aId,B.AUTHOR_ID as bId from SCOPUS_PUBLICATION_AUTHOR A,SCOPUS_PUBLICATION_AUTHOR B where A.AUTHOR_ID = curAuthor.id and B.PUB_ID = A.PUB_ID and B.AUTHOR_ID != curAuthor.id;
      begin
        for curMap in authorMapCursor loop
          begin
            select count(*) into a_count from A_Temp where ( AUTHOR1ID = curMap.aId and AUTHOR2ID = curMap.bId ) or ( AUTHOR1ID = curMap.bId and AUTHOR2ID = curMap.aId );
--          查看是否有合作记录 没有,则插入。 有,则更新Times  
            if(a_count = 0) then
              insert into A_TEMP(ID,AUTHOR1ID,AUTHOR2ID,TIMES) values (sequence_temp.NEXTVAL,curMap.aId,curMap.bId,1);
            else
              update A_TEMP set Times = (Times + 1) where ( AUTHOR1ID = curMap.aId and AUTHOR2ID = curMap.bId ) or ( AUTHOR1ID = curMap.bId and AUTHOR2ID = curMap.aId );
            end if;
          end;
        end loop;
      end;
    end;
  end loop;
END Counting;


oracle 存储过程(其中使用了游标)例子

create or replace procedure PRC_analysis_alert is ---获得“预警研判分析-预警信息统计”结果 的游标 cursor CRS_AlERT i...

oracle存储过程与游标使用实例

create or replace procedure CLOSE_DIRECT_AUDIT_POINT(pointname     in varchar2,                    ...

oracle数据库存储过程的一个实例(运用到游标和循环)

自己写的一个存储过程实例(格式可以参照): create or replace procedure comm.procedure_luguagua(patientId in varchar2,//入参...

Oracle数据库语句 简单的存储过程+触发器+游标

Oracle数据库语句   简单的存储过程+触发器+游标 select *from student; select *from "course"; select t.*, t.row...

Java链接Oracle数据库时候调用含有游标的存储过程(两种不同处理方式)

最经这段时间在学习Oracle中的PL/SQL了,其中存储过程和游标的使用应该算是比较重要的东西了。在周日的下午,突然想写点东西,刚好把自己这段 时间的学习感悟写写吧。一者可以总结自己的学习,二者希望...

oracle存储过程中 使用游标做循环封装数据集

需求是 双11活动结束后根据活动id 给参与的用户发京东E卡券,每个用户无论参与多少次 只发一个。 这时就存在一个查到很多个用户符合条件 要一一发短信的结果集了。 create or replace ...

Oracle关于创建存储过程权限问题以及带参数的游标的范例

创建了一个关于对表的字段动态增加的存储过程,用到了游标,带参数的游标,解决存储过程执行权限问题: AUTHID CURRENT_USER...

基于ORACLE数据库的循环建表及循环创建存储过程的SQL语句实现

一、概述 在实际的软件开发项目中,我们经常会遇到需要创建多个相同类型的数据库表或存储过程的时候。例如,如果按照身份证号码的尾号来分表,那么就需要创建10个用户信息表,尾号相同的用户信息放在同一个表中...
  • zhouzxi
  • zhouzxi
  • 2015年06月03日 13:50
  • 2881

Oracle中加密解密的数据库函数,创建(包含游标)和使用存储过程

1、加密函数  gen_encr: create or replace function gen_encr(v_input varchar2) return raw is v_result raw(2...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:oracle数据库存储过程范例(使用游标进行循环)
举报原因:
原因补充:

(最多只允许输入30个字)