`
springking
  • 浏览: 131825 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

java调用存储过程(返回游标变量,利用索引表,临时表)

阅读更多

/*创建临时表及存储过程*/

Create Global Temporary Table test1
(name varchar2(20),age int)
On Commit Delete Rows;

create or replace package addnum
is
  type emp_table_type is table of varchar2(200)
  index by binary_integer;
  type emp_cur is ref cursor;
end;
/

create or replace procedure test2
(abc in out addnum.emp_table_type)
is
begin
   abc(0) := 'aaaaa';
   abc(1) := 20;
   abc(3) := 'bbbbb';
   abc(4) := 30;
end;
/
create or replace procedure test3
(ccc in out addnum.emp_cur)
is
   cba addnum.emp_table_type;
begin
   test2(cba);
   insert into test1 values(cba(0),cba(1));
   insert into test1 values(cba(3),cba(4));
end;
/


create or replace procedure test4
(e_cur in out addnum.emp_cur)
is
begin
   test3(e_cur);
   open e_cur for select * from test1;
end;
/

 

 

 

 

 

/*java调用*/

  Connection conn = DaoUtil.getConnection();
  conn.setAutoCommit(false);
  
  CallableStatement call = conn.prepareCall("call test4(?)");
  call.registerOutParameter(1, OracleTypes.CURSOR);
  call.execute();
  ResultSet rs = (ResultSet) call.getObject(1); 
  while(rs.next()){
   System.out.println(rs.getString(1) + "," + rs.getInt(2));
  }
  conn.commit();
  rs.close();
  call.close();
  conn.close();

分享到:
评论

相关推荐

    存储过程:利用游标+临时表实现查询

    本存储过程的目的是利用游标和临时表来实现动态查询,主要用于查询监测设备的状态及目标监测设备状态。下面我们将深入探讨存储过程的使用优势、游标的概念和使用步骤,以及在MySQL中如何实现游标。 1. 存储过程的...

    Oracel储存过程用临时表

    在这个例子中,我们首先定义了一个PL/SQL索引表类型`data_table_type`,然后在存储过程中填充这个类型变量`l_data`,最后通过游标`c`将数据返回给调用者。 总结来说,Oracle的存储过程结合临时表,可以有效地处理...

    用java调用oracle存储过程总结

    2. 创建一个临时表,让存储过程将结果写入临时表,然后在Java中通过查询临时表获取数据。 3. 如果可能,修改存储过程,使其返回XML或JSON格式的数据,然后在Java中解析这些格式的数据。 总的来说,调用Oracle存储...

    mysql游标存储过程例子

    存储过程中还涉及到了临时表的创建和填充。例如,通过 `TRUNCATE TABLE tz_sjrqdz;` 清空指定表后,再使用 `INSERT INTO tz_sjrqdz (xh1, rq, xh2, sjrq)` 填充数据。 ### 五、总结 该存储过程展示了如何在MySQL中...

    birt调用存储过程.doc

    - **单结果集**:存储过程执行后返回一个结果集,可以是来自表、临时表或变量的查询结果。 - **输出参数**:存储过程执行时,可以设置输出参数来传递返回值,如整数、字符串等。 - **RETURN参数**:用于返回状态...

    在BIRT(百灵报表)中使用存储过程创建数据源

    1. 单结果集:由SELECT语句生成,可以从永久表、临时表或局部变量中获取。 2. 输出参数:用于从存储过程中传出数据,可以是各种数据类型。 3. RETURN参数:返回一个整型状态值,用于表示存储过程的执行状态。 4. ...

    存储过程的返回结果集有2中类型

    本篇将详细讨论存储过程返回结果集的两种类型:调用者(to caller)和客户应用(to client)。 首先,让我们理解这两种返回结果集类型的差异: 1. **调用者(to caller)**: 当存储过程的结果集返回给调用者时,...

    SQL补充触发器临时表与游标PPT学习教案.pptx

    SQL中的触发器是一种特殊...总的来说,这个PPT学习教案涵盖了SQL中的关键概念,包括触发器、存储过程、临时表和游标,这些都是数据库管理和开发的重要组成部分,对于理解SQL的高级功能和实现复杂的业务逻辑至关重要。

    mysql的存储过程、游标 、事务实例详解

    在给定的描述中,`transferEmailTempData`是一个存储过程,用于将临时表`t_email_data_temp`中的数据转移到正式表`t_email_info`,同时删除临时表中的对应记录。它接收一个参数`jobId`,用于筛选需要处理的记录。 *...

    ASA存储过程.doc

    例如,以下存储过程返回每个公司的总价值,并按降序排序: ```sql CREATE PROCEDURE ListCustomerValue() RESULT("Company" CHAR(36), "Value" INT) BEGIN SELECT company_name, CAST(sum(sales_order_items....

    mysql 存储过程应用(代码详解)

    本文通过一个具体的例子详细介绍了如何在MySQL中使用临时表、游标、异常处理和返回值来实现存储过程。这些技术可以极大地提高数据库应用程序的性能和可维护性。掌握这些技巧对于任何从事数据库开发工作的人员来说都...

    SQL SERVER数据库开发之存储过程应用.rar

    总而言之,"SQL SERVER数据库开发之存储过程应用"教程会涵盖以上这些核心概念,并可能深入到高级主题,如动态SQL、游标、异常处理、临时表和变量的使用等。通过学习和实践,开发者可以提升在SQL Server环境下的...

    DB2存储过程入门实例

    4. 编程技巧:利用临时表、游标和批处理技术优化处理大数据量的场景。 六、管理和维护 DB2提供了ALTER PROCEDURE修改存储过程,DROP PROCEDURE删除存储过程,以及SHOW PROCEDURE查看存储过程的系统命令。 总结,...

    游标小实例

    在整个处理流程中,错误信息被收集到`@PRINTERROR`变量中,最终由存储过程返回。这种设计允许调用者直接查看和处理所有的错误信息,而无需逐行检查。 #### 总结 这个游标小实例展示了在SQL Server中如何使用游标...

    最简单的SQL Server数据库存储过程分页

    其核心思想是利用游标(Cursor)或临时表来获取数据总量,并根据指定的页码和每页数量来计算出需要返回的具体记录范围。这种方法的优势在于它可以减少网络传输的数据量,提高应用程序响应速度,同时减轻服务器的压力...

    15.sql.server.2005.存储过程 15.sql.server.2005.存储过程

    通过合理使用临时表、优化查询语句、避免不必要的数据转换等方式,可以进一步提升存储过程的执行效率。 12. **调试存储过程**: SQL Server Management Studio (SSMS) 提供了调试存储过程的功能,可以设置断点,...

    oracle存储过程使用文档

    - **示例目的**:查询部门10的所有雇员的姓名和工资,并将这些信息插入到一个临时表`tmp`中。 - **表结构**:`tmp`表结构为`t1 char(20), t2 number(10)`。 - **实现方式**:使用三种不同的循环方法实现。 通过上述...

    存储过程实例+SQL2008完全自学手册

    这可能涉及重写查询、添加索引或使用临时表。另外,理解存储过程缓存和重新编译的概念也至关重要,以避免不必要的资源消耗。 本书还涵盖了存储过程的调试技巧,这对于排查问题和改进代码质量非常有用。你可以利用...

Global site tag (gtag.js) - Google Analytics