执行存储过程

本文介绍了一种变电精益化的实现方法,并详细展示了如何通过存储过程进行图数关联,包括创建存储过程、执行存储过程及返回数据集的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/**变电精益化
**/ 
Map in = new HashMap();
        /** 测试数据 **/
        // in.put("1", "1");
        // in.put("2", "317b2be9b240288188423159720142317b2b4b0126");
        /** 正式 **/
        in.put("1", ids.toString());
        in.put("2", dzid);
        Map out = new HashMap();
        out.put("3", Types.VARCHAR);
        Map m = hibernateDao.executeProcedureOrderByParams(
                "{call pkg_zh_bdjyh_cjsb.p_cjsb(?,?,?)}", in, out);

/**图数关联
**/

//创建存储过程
create or replace procedure t_dw_tsgl_pdjggl(jg out varchar2)
is
/*******************************************************************************
  中文名称:  判断间隔的关联
  调用方法:  p_zh_hw_gzzd
  作    者:  石蕴杰
  创建时间:  2016-04-14
  数据版本:  Oracle 10
  输入参数:
  输出参数:
  简要说明:  根据传入,查出关联和未关联的数据
  修改记录:
  *******************************************************************************/
v_sql varchar2(3000);
type recs is ref cursor;
t_cursor recs;
begin
  v_sql:='select oid from dwzy.T_TX_ZNYC_JGDY dz where dydj =''8'' and yxdw=''1096FA0035D17535E05379FB50152705''';
  open t_cursor for v_sql;
--   execute immediate v_sql;
  loop
    fetch t_cursor into jg;
    exit when t_cursor%notfound;
    end loop;
   end;
   --end t_dw_tsgl_pdjggl; 

//执行存储过程 
Map in = null;
           Map out = new HashMap();
           out.put("0", Types.VARCHAR);
           Map resultMap = hibernateDao.executeProcedure("{call scyw.t_dw_tsgl_pdjggl(?)}",in,out);  



/**存储过程返回数据集,要先建一个包
**/
/*
图数关联包
*/
create or replace package pkg_tsgl as 
type myrctype is ref cursor;--先自定义一个类型,一会用来返回查询的记录集
procedure gettxsj(prc out myrctype);
end pkg_tsgl;

/**再建一个包的实体
**/
create or replace package body pkg_tsgl as
--type myrctype is ref cursor;--先自定义一个类型,一会用来返回查询的记录集
procedure gettxsj(prc out myrctype)
  is
  v_sql varchar2(3000);
--type recs is ref cursor;
--t_cursor recs;
begin
  v_sql:='select oid from dwzy.T_TX_ZNYC_JGDY dz where dydj =''8'' and yxdw=''1096FA0035D17535E05379FB50152705''';
  open prc for v_sql;
--   execute immediate v_sql;
 -- loop
   -- fetch t_cursor into jg;
   -- exit when t_cursor%notfound;
   -- end loop;
   end gettxsj;
end pkg_tsgl;  

/**后台查出执行结果
**/
   /**
        * 加载图形表数据
        */
       @SuppressWarnings("rawtypes")
    public QueryResultObject loadtxList(RequestCondition params) {
           QueryResultObject qro = new QueryResultObject();
           Map in = null;
           Map out = new HashMap();
           out.put("0", Types.VARCHAR);
           Map resultMap = hibernateDao.executeProcedure("{call scyw.t_dw_tsgl_pdjggl(?)}",in,out);
           List result = new ArrayList();
           result.add(resultMap);
           Map out2 = new HashMap();
           out2.put("0", oracle.jdbc.OracleTypes.CURSOR);
//           hibernateDao.executeProcedure(arg0)
           resultMap = hibernateDao.executeProcedure("{call scyw.pkg_tsgl.gettxsj(?)}",in,out2);
           qro.setItems(result);
           return  qro;
       }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值