1.           Framework.QueryInfo info1 = new Framework.QueryInfo();
            //string Sql = Holworth.Utility.Utility.EntityRowMapper.getSql("//data//ValueAtRiskCalculationService//NoneQuery2");
            //info.CustomSQL = Sql;
            info1.NamedQuery = "P_TRAN_SIMULATION1";
            info1.Parameters.Add("v_ComputeDate1", DateTime.Parse("2015/3/9"));
            info1.Parameters.Add("v_ComputeDate2", DateTime.Parse("2015/6/9"));
            Dao.ExecuteNonQuery(info1);

2.

create or replace procedure P_TRAN_SIMULATION1
(
 v_ComputeDate1 in date,
 v_ComputeDate2 in date,
 r_cursor1 OUT sys_refcursor
)
/* Oracle:Authid Current_User的使用

我们知道,用户拥有的role权限在存储过程是不可用的。遇到这种情况,我们一般需要显式授权,
 如grant create table to usera;但这种方法太麻烦,有时候可能需要进行非常多的授权才能执行存储过程,
 实际上,oracle给我们提供了在存储过程中使用role权限的方法:修改存储过程,加入Authid Current_User时存储过程可以使用role权限。下面来举个例子: */
authid current_user
 is vn_ctn number(2);
begin
    select count(*) into vn_ctn from user_all_tables a where a.table_name like upper('tbl');
   if vn_ctn > 0 then --多条件就用and 和or 来进行连接
      execute immediate 'drop table tbl';  
   end if;
   
   execute immediate 'create table tbl(id1 number,id2 number)';   
declare cashflowPOSITIVE NUMBER:=0;
      cashflowNEGATIVE NUMBER:=0;
      cursor mycur is
      select *
      from TRAN_CASH_FLOW
      where as_of_date = v_ComputeDate1
      and payment_date >=v_ComputeDate1
      and payment_date < v_ComputeDate2;
      cashFlowRow TRAN_CASH_FLOW%rowtype;
begin     
  open mycur; --打开游标
     loop
         fetch mycur into cashFlowRow; --把游标所指的纪录放到变量中
         exit  when (mycur%notfound); --当游标没有指向行时退出循环
         if cashFlowRow.cashflow_value>0 then
           cashflowPOSITIVE:=cashflowPOSITIVE+cashFlowRow.cashflow_value;
           else
             cashflowNEGATIVE:=cashflowNEGATIVE+cashFlowRow.cashflow_value;
             end if;
     end loop;
    -- dbms_output.put_line(cashflowPOSITIVE);
    
     close mycur;  --关闭游标
      execute immediate 'insert into tbl values('||cashflowPOSITIVE||','||cashflowNEGATIVE||')';
   
   EXECUTE IMMEDIATE 'BEGIN OPEN :r_cursor1 FOR SELECT * FROM tbl; END;' using r_cursor1;
   close r_cursor1;
   end;
--execute immediate的作用
/* EXECUTE IMMEDIATE将不会提交一个DML事务执行
如果通过EXECUTE IMMEDIATE处理DML命令,
那么在完成以前需要显式提交或者作为EXECUTE IMMEDIATE自己的一部分.
如果通过EXECUTE IMMEDIATE处理DDL命令,它提交所有以前改变的数据*/
end ;

调用存储过程的代码
 call p_tran_simulation1(to_date('2015/03/09','yyyy/mm/dd'),
                       to_date('2015/06/09','yyyy/mm/dd'));

oracle存储过程结合我公司代码1的更多相关文章

  1. Oracle存储过程中异步调用的实际操作步骤

    本文标签:Oracle存储过程 我们都知道在Oracle数据库的实际应用的过程中,我们经常把相关的业务处理逻辑,放在Oracle存储过程中,客户端以通过ADO来进行相关的调用  .而有些相关的业务逻辑 ...

  2. java代码调用oracle存储过程

    一.简介 与调用mysql存储过程类型过程都是如下 1.创建连接 Connection conn = DriverManager.getConnection(url, user, password); ...

  3. ORACLE存储过程调用Web Service

    1. 概述 最近在ESB项目中,客户在各个系统之间的服务调用大多都是在oracle存储过程中进行的,本文就oracle存储过程调用web service来进行说明.其他主流数据库,比如mysql和sq ...

  4. Oracle 存储过程异常处理

    Oracle 存储过程异常处理 1.异常的优点    如果没有异常,在程序中,应当检查每个命令的成功还是失败,如  BEGIN  SELECT ...  -- check for ’no data f ...

  5. oracle存储过程代码覆盖率统计工具

    目前针对于高级语言如C++,JAVA,C#等工程都有相关的代码覆盖率统计工具,但是对于oracle存储过程或者数据库sql等方面的项目,代码覆盖率统计和扫描工具相对较少. 因此针对这种情况,设计了代码 ...

  6. Oracle存储过程创建及调用

    在大型数据库系统中,有两个很重要作用的功能,那就是存储过程和触发器.在数据库系统中无论是存储过程还是触发器,都是通过SQL 语句和控制流程语句的集合来完成的.相对来说,数据库系统中的触发器也是一种存储 ...

  7. 数据库周刊30丨数据安全法草案将亮相;2020数据库产业报告;云南电网上线达梦;达梦7误删Redo Log;Oracle存储过程性能瓶颈;易鲸捷实践案例……

    摘要:墨天轮数据库周刊第30期发布啦,每周1次推送本周数据库相关热门资讯.精选文章.干货文档. 热门资讯 1.数据安全法草案即将亮相:将确立数据分级分类管理.应急处置制度[摘要]数据安全法草案即将在本 ...

  8. oracle 存储过程

    来自:http://www.jb51.net/article/31805.htm Oracle存储过程基本语法 存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 I ...

  9. Oracle存储过程语法

    原文链接:http://www.jb51.net/article/31805.htm Oracle存储过程基本语法 存储过程  1 CREATE OR REPLACE PROCEDURE 存储过程名  ...

随机推荐

  1. python you-get 下载视频

    python使用you-get模块下载视频   pip install you-get # 安装先 怎么用    进入命令行: you-get url 暂停下载:ctrl + c ,继续下载重复  y ...

  2. 0_Simple__UnifiedMemoryStreams

    使用 OpenMP 和 pthreads 两种环境,利用实现统一内存编址,计算基本的矩阵乘法 result = α * A * x + β * result . ▶ 源代码 #include < ...

  3. Hive启动异常

    [root@host ~]# hivewhich: no hbase in (/root/app/apache-maven-3.5.2/bin:/usr/local/sbin:/usr/local/b ...

  4. 解决maven工程 子工程中的一些配置读取进来的问题

    方案:在父工程中手动配置一些节点 <build> <!-- 插件 --> <plugins> <plugin> <groupId>org.a ...

  5. ABAP-SET UPDATE TASK LOCAL

    SET UPDATE TASK LOCAL 影响 切换本地更新任务.这意味着当您指定  CALL FUNCTION ... IN UPDATE TASK时,更新数据不会存储在数据库中,而是存储在ABA ...

  6. idea常用设置(持续更新)

    1.注释模板 Setting里找到live Templates (1)创建一个Templates Group (2)在Templates Group下创建Live Template 2.常用内置模板 ...

  7. 千万级高并发负载均衡软件haproxy配置文件详解

    balance roundrobin         #轮询方式 balance source               #将用户IP经过hash计算后,使同一IP地址的所有请求都发送到同一固定的后 ...

  8. PageUtil 分页

    /** * 分页工具类 * @author Administrator * */ public class PageUtil { /** * 生成分页代码 * @param targetUrl 目标地 ...

  9. linux一些基本常识(四)

    tail -f时时监控 一开启内存最小位u原则,尽量优化代码 grep -v "" /etc/passwd 这样行不行 怎么清除last nice调整进程运行级别 pkill是匹配 ...

  10. Eclipse中Git插件使用技巧:还原文件

    如果修改了某个文件并未提交至本地库(add index),那么怎么还原呢?Git插件中并不像Svn插件直接提供有还原方式.其实无论是否提交至本地库或者远程库,还原操作的本质都是将文件的当前版本还原至之 ...