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');
  • 相关阅读:
    面试题 33 把数组排成最小的数
    面试题32 1的数目
    面试题29 数组中出现次数超过一半的数字
    LeetCode_Combination Sum II
    LeetCode_Combination Sum
    面试题27 二叉搜索树转换为双向链表
    面试题26 复杂链表的复制
    面试题24 二叉搜索树的后序遍历序列
    LeetCode_Binary Tree Inorder Traversal
    省选模拟57 题解
  • 原文地址:https://www.cnblogs.com/zeussbook/p/13803544.html
Copyright © 2011-2022 走看看