读书人

oracle存储过程的有关问题

发布时间: 2013-03-26 21:09:07 作者: rapoo

oracle存储过程的问题
大侠们 我想问一下,我有一个存储过程有一个输入参数和2个输出参数,一个输出参数是返回一个vachar一个是返回一个集类型,我想问怎么写存储过程,最主要是的在程序中怎么调用,详细贴一下代码,并给我讲解一下,谢谢了。要全代码哦 我有点菜

[解决办法]

Java code
首先,建立存储过程( 建立student表略 ):create or replace procedure p_student_info(i_sex in varchar2,o_cur out sys_refcursor) isbegin  open o_cur for select * from student where student_sex=i_sex;end;存储过程既有in类型也有out类型且out类型是cursor。java代码:建立数据库链接省略,注意不要以system账号链接:调用方法:public static void cursorTest(){  Connection conn = JdbcUtil.getConnection();  CallableStatement cstmt = null;  try {   cstmt = conn.prepareCall("{call p_student_info(?,?)}");   cstmt.setString(1, "m");   cstmt.registerOutParameter(2, OracleTypes.CURSOR);//out类型需要注册   cstmt.execute();   ResultSet rs = (ResultSet)cstmt.getObject(2);//此处的2要与存储过程中cursor的问题对应   while(rs.next()){    System.out.println(rs.getString(1));//获取具体的值   }    } catch (SQLException e) {   // TODO Auto-generated catch block   e.printStackTrace();  } }调用以上方法测试。
我的异常网推荐解决方案:oracle存储过程,http://www.myexception.cn/oracle-develop/177537.html

读书人网 >J2EE开发

热点推荐