欢迎来到天天文库
浏览记录
ID:34723793
大小:55.24 KB
页数:8页
时间:2019-03-10
《java中调用oracle存储过程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、java中调用ORACLE存储过程2007-06-2622:14一:无返回值的存储过程存储过程为:CREATEORREPLACEPROCEDURETESTA(PARA1INVARCHAR2,PARA2INVARCHAR2) ASBEGIN INSERTINTOHYQ.B_ID(I_ID,I_NAME)VALUES(PARA1,PARA2);ENDTESTA;然后呢,在java里调用时就用下面的代码:packagecom.hyq.src;importjava.sql.*;importjava.sql.ResultSet;publicc
2、lassTestProcedureOne{ publicTestProcedureOne(){ } publicstaticvoidmain(String[]args){ Stringdriver="oracle.jdbc.driver.OracleDriver"; StringstrUrl="jdbc:oracle:thin:@127.0.0.1:1521:hyq"; Statementstmt=null; ResultSetrs=null; Connectionconn=null; Calla
3、bleStatementcstmt=null; try{ Class.forName(driver); conn= DriverManager.getConnection(strUrl,"hyq","hyq"); CallableStatementproc=null; proc=conn.prepareCall("{callHYQ.TESTA(?,?)}"); proc.setString(1,"100"); proc.setString(2,"TestOne");
4、 proc.execute(); } catch(SQLExceptionex2){ ex2.printStackTrace(); } catch(Exceptionex2){ ex2.printStackTrace(); } finally{ try{ if(rs!=null){ rs.close(); if(stmt!=null){ stmt.close(); }
5、 if(conn!=null){ conn.close(); } } } catch(SQLExceptionex1){ } } }}当然了,这就先要求要建张表TESTTB,里面两个字段(I_ID,I_NAME)。二:有返回值的存储过程(非列表)存储过程为:CREATEORREPLACEPROCEDURETESTB(PARA1INVARCHAR2,PARA2OUTVARCHAR2) ASBEGIN SELECTINTOPARA2FROMT
6、ESTTBWHEREI_ID=PARA1;ENDTESTB;在java里调用时就用下面的代码:packagecom.hyq.src;publicclassTestProcedureTWO{ publicTestProcedureTWO(){ } publicstaticvoidmain(String[]args){ Stringdriver="oracle.jdbc.driver.OracleDriver"; StringstrUrl="jdbc:oracle:thin:@127.0.0.1:1521:hyq";
7、Statementstmt=null; ResultSetrs=null; Connectionconn=null; try{ Class.forName(driver); conn= DriverManager.getConnection(strUrl,"hyq","hyq"); CallableStatementproc=null; proc=conn.prepareCall("{callHYQ.TESTB(?,?)}"); proc.setString(1,"10
8、0");//设置输入参数值 proc.registerOutParameter(2,Types.VARCHAR);//第2个参数设为输出 proc.execute();
此文档下载收益归作者所有