Oracle存储过程利用游标返回结果集的代码示例_Oracle_数据库_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 数据库 > Oracle > Oracle存储过程利用游标返回结果集的代码示例

Oracle存储过程利用游标返回结果集的代码示例

 2013/8/10 1:21:03    程序员俱乐部  我要评论(0)
  • 摘要:Oracle存储过程可以利用游标返回结果集,它的实现方法是本文我们主要要介绍的内容,接下来我们就开始介绍。首先我们在sqlplus中建立如下的内容:1、程序包SQL>createorreplacepackagetypes2as3typecursorTypeisrefcursor;4end;5/程序包已创建2、函数SQL>createorreplacefunctionsp_ListEmpreturntypes.cursortype2as3l_cursortypes
  • 标签:ORA 代码 结果 利用 过程 存储过程 Oracle Oracle存储过程

Oracle存储过程可以利用游标返回结果集,它的实现方法是本文我们主要要介绍的内容,接下来我们就开始介绍。首先我们在sqlplus中建立如下的内容:

1、程序包

    class="dp-xml">
  1. SQL> create or replace package types  
  2. 2 as  
  3. 3 type cursorType is ref cursor;  
  4. 4 end;  
  5. 5 / 
  6. 程序包已创建

2、函数

  1. SQL> create or replace function sp_ListEmp return types.cursortype  
  2. 2 as  
  3. 3 l_cursor types.cursorType;  
  4. 4 begin  
  5. 5 open l_cursor for select id, title from cf_news order by id;--表的名字  
  6. 6 return l_cursor;  
  7. 7 end;  
  8. 8 /  
  9. 函数已创建。 

3、存储过程

  1. SQL> create or replace procedure getemps( p_cursor in out types.cursorType )  
  2. 2 as  
  3. 3 begin  
  4. 4 open p_cursor for select id, title from cf_news order by id;--表的名字  
  5. 5 end;  
  6. 6 /  
  7. 过程已创建。 

4、建立一个可执行的java控制台程序

  1. import java.sql.*;  
  2. import java.io.*;  
  3. import oracle.jdbc.driver.*;  
  4. class GetValues  
  5. public static void main (String args [])  
  6. throws SQLException, ClassNotFoundException  
  7. {  
  8. String driver_class = "oracle.jdbc.driver.OracleDriver";  
  9. String connect_string = "jdbc:oracle:thin:@127.0.0.1:1521:database";  
  10. String query = "begin :1 := sp_listEmp; end;"; //此处调用前面建立的函数!  
  11. Connection conn;  
  12. Class.forName(driver_class);  
  13. conn = DriverManager.getConnection(connect_string, "scott", "tiger");  
  14. CallableStatement cstmt = conn.prepareCall(query);  
  15. cstmt.registerOutParameter(1,OracleTypes.CURSOR);  
  16. cstmt.execute();  
  17. ResultSet rset = (ResultSet)cstmt.getObject(1);  
  18. while (rset.next ())  
  19. System.out.println( rset.getString (1) );  
  20. cstmt.close();  

将以上的代码在Java编译器中运行,即可实现该功能。

以上就是Oracle存储过程利用游标返回结果集的全部过程,本文就介绍到这里了,希望本次的介绍能够对您有所收获!

发表评论
用户名: 匿名