老兄,这样的程序能返回很多的结果吗?好象不行吧?
  WHILE mycur%FOUND LOOP
      FETCH mycur INTO v_id,v_name;
  END LOOP;
每运行一次循环,就把以前的给覆盖了。
况且test_proc(
    v_id out TEST_TBL.id%TYPE,
    v_name in out TEST_TBL.name%TYPE,
    v_time out TEST_TBL.day_time%TYPE) 
也只能返回一行的参数啊。
近其我也在看这方面的东东,只是还有若干要点没有弄得明白。

解决方案 »

  1.   

    因为我也是刚接触Oracle存储过程这方面的东西,所以不知道可行否,还望各位指点。
    另,难道存储过程是不能返回多条记录数据的吗?
      

  2.   

    行是行,不过有点罗嗦,不象SQL SERVER那样
      

  3.   

    尽管找不到我想要的答案,还是谢谢各位的参与,将尽快结贴我提供一个方法是用Oracle的package实现的,看大家有没有更好的;
    表结构oqx_tbl(id number,name varchar2,passwd varchar2,day_tiem date)
    创建Oracle的package :
    CREATE or REPLACE PACKAGE my_package AS
       TYPE myrctype IS ref cursor RETURN oqx_tbl%ROWTYPE;
       Function selectTableData RETURN myrctype; 
    END my_package;
    CREATE OR REPLACE PACKAGE BODY my_package AS
       Function selectTableData RETURN myrctype is rc myrctype;  
       Begin
          OPEN rc for select id,name,passwd,to_char(day_time,'YYYY-MM-DD HH24:MI') from oqx_tbl;
          Return rc; 
       End;
    END my_package;/* *演示程序* RefCursorExample.java  ****/
    import java.sql.*;
    import java.io.*;
    import oracle.jdbc.driver.*;class RefCursorExample
    {
       public static void main(String args[]) throws SQLException
       {
          DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
          Connection conn =
             DriverManager.getConnection("jdbc:oracle:thin:@192.168.1.70:1521:myorc", "username", "password");
          CallableStatement call =
             conn.prepareCall("{ ? = call my_package.selectTableData }");
          call.registerOutParameter(1, OracleTypes.CURSOR);
          call.execute();
          ResultSet rst = (ResultSet)call.getObject(1);
          while(rst.next()){
            System.out.println("\n用户ID: "+rst.getInt(1));
            System.out.println("用户名:  "+rst.getString(2));
            System.out.println("注册时间: "+rst.getString(4));      
            System.out.print("--------------------------");
            }
          rst.close();
          conn.close();   
       }
    }
      

  4.   

    对这个问题有兴趣的,大家可以看
    http://www.csdn.net/expert/topic/330/330015.shtm散分了!