执行存储过程

原创 2017年01月03日 15:31:03
/**变电精益化
**/ 
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;
       }  

创建和执行存储过程

创建存储过程CREATE PROCEDURE procedure_name[WITH ENCRYPTION][WITH RECOMRILE]ASsql_statement注:WITH ENCRYPTI...
  • alan_gongcz
  • alan_gongcz
  • 2011年02月18日 15:14
  • 32842

SQL动态执行存储过程

SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ========================...
  • guyongqing52
  • guyongqing52
  • 2013年03月19日 00:04
  • 3875

PLsql中执行存储过程的方法

1、在sqlplus命令行界面使用"EXECUTE"命令(简写做"EXEC")执行 sec@ora10g> exec proc_helloworld Hello World! PL/SQL pr...
  • drbing
  • drbing
  • 2016年07月13日 15:27
  • 11964

oracle如何执行存储过程

存储过程如下:Create procedure gokul_proc( pId in number, pName in varchar2, OutCur OUT G_PKG_R...
  • topwqp
  • topwqp
  • 2015年07月28日 13:54
  • 5425

plsql之存储过程的调用和执行

存储过程  1 什么是存储过程?      用于在数据库中完成特定的操作或者任务。是一个PLSQL程序块,可以永久的保存在数据库中以供其他程序调用。    2 存储过程的参数模式      存储过程的...
  • xys_777
  • xys_777
  • 2011年11月15日 09:15
  • 40210

LINUX下执行与定时执行ORACLE 存储过程

      执行存储过程的SH. /oracle/.bash_profile/oracle/bin/sqlplus qd/qd@infoexec qd.cjm_duanx_tx;exit!利用定时器进...
  • tianlincao
  • tianlincao
  • 2008年12月16日 12:47
  • 2234

Delphi 使用TAdoQuery执行存储过程的样例

Delphi 使用TAdoQuery执行存储过程的样例   procedure TCustomerForm.FindCustomerInfo; var   strSql:string; be...
  • xiongmao000738
  • xiongmao000738
  • 2011年11月10日 14:28
  • 3549

oracle存储过程中如何执行动态SQL语句

有时需要在oracle存储过程中执行动态SQL语句 ,例如表名是动态的,或字段是动态的,或查询命令是动态的,可用下面的方法:set serveroutput ondeclare    n number...
  • itclock
  • itclock
  • 2007年05月24日 09:30
  • 8923

MyBatis执行动态sql及存储过程

MyBatis调用动态SQL和存储过程
  • liangwenmail
  • liangwenmail
  • 2015年08月20日 21:49
  • 2682

命令行执行存储过程

1. exec proc_name; 2. 关闭/打开打印 set serveroutput off/on;
  • yangchen8497
  • yangchen8497
  • 2012年11月12日 23:12
  • 672
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:执行存储过程
举报原因:
原因补充:

(最多只允许输入30个字)