zoukankan      html  css  js  c++  java
  • Orcal存储过程

    一、Orcal存储过程语法

    --定义存储过程开始
    create or replace procedure  pm_quotaresult_tablename(
           --定义入参
           v_fundcode   in varchar2,
           v_bendyeildid     in varchar2,
           v_busidate in varchar2
    )
    AS 
           p_achievementnav  zt_tablename.achievementnav%type;--定义替换变量
           p_countnav  zt_tablename.achievementnav%type;
    BEGIN
               
          --定义游标       
          DECLARE CURSOR p_benchmark IS 
          select p.benchmarkid,p.rundate,p.resultvalue from pm_quotaresult p where p.benchmarkid = v_bendyeildid and rundate >= v_busidate order by rundate;
          
           p_benchmarkid      varchar2(50);--查询字段定义
           p_rundate      pm_quotaresult.rundate%type;--用原表的字段类型
           p_resultvalue      varchar2(50);       
     
           BEGIN 
             OPEN p_benchmark;
               LOOP
                 FETCH p_benchmark INTO p_benchmarkid,p_rundate,p_resultvalue; --开始遍历,字段于上面定义字段顺序一致
                 exit when p_benchmark%notfound;
                 --逻辑判断计算
                 if p_rundate = v_busidate then
                   p_countnav := 1 * (p_resultvalue+1) - 1;
                     DBMS_OUTPUT.put_line( p_countnav);
                   p_achievementnav := 1;
                 else
                   p_countnav := (1 + p_countnav) * (p_resultvalue+1) - 1;
                     DBMS_OUTPUT.put_line( p_countnav);
                   p_achievementnav := 1 + p_countnav;    
                 end if;
                   
                -- 3.修改tablename表中的数据
                update zt_tablename set benchyield = p_resultvalue,achievementnav = p_achievementnav where fundcode = v_fundcode and busidate = p_rundate;
                
               END LOOP;
             CLOSE  p_benchmark;
           END;
          COMMIT;
    END pm_quotaresult_tablename;

    二、执行存储过程

    call pm_quotaresult_tablename('111015','15556','20161118');
  • 相关阅读:
    阶段性总结---初始阶段
    微信授权以及微信支付所遇到的坑(完善)
    CSS3学习
    Playing with String(codeforces 305E)
    Treblecross(uva 10561)
    序列操作(bzoj 1858)
    传送带(bzoj 1857)
    字符串(bzoj 1856)
    刷题比赛(洛谷 1707)
    大楼(bzoj 2165)
  • 原文地址:https://www.cnblogs.com/zeussbook/p/13803544.html
Copyright © 2011-2022 走看看