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');
  • 相关阅读:
    GCC内置函数
    父类子类的拷贝构造与赋值
    外传三 动态内存申请的结果
    外传二 函数的异常规格说明
    外传一 异常处理深度解析
    第69课 技巧,自定义内存管理
    第68课 拾遗,令人迷惑的写法
    第67课 经典问题解析五
    第66课 C++中的类型识别
    第65课 C++中的异常处理(下)
  • 原文地址:https://www.cnblogs.com/zeussbook/p/13803544.html
Copyright © 2011-2022 走看看