你这种写法是没有返回结果集的,如果需要返回的话可以这样
create or replace procedure myproc(a in varchar2,cursor0 out GLOBAL_CURSOR.rct)
is
begin
open cursor0 for
select empno,ename,deptnofrom emp;
end;import java.sql.*;
public class testOracle
{
public static void main(String args[])
{
try
{
DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@127.0.0.1:1521:CHRIS";
String userName = "scott";
String password = "tiger";
Connection conn = DriverManager.getConnection (url, userName, password);
String sql = "{call myproc(?)}";
CallableStatement cstmt = conn.prepareCall(sql);
   cstmt .registerOutParameter(1,oracle.jdbc.OracleTypes.CURSOR);
cstmt.execute();
ResultSet rs = (ResultSet)cstmt .getObject(1);
while (rs.next ())
System.out.println (rs.getString (2));
}
catch(Exception e)
{
System.out.println (e.getMessage());
}
}
}