如何在Java程序中调用存储过程

如何在Java程序中调用存储过程

ID:38341095

大小:44.50 KB

页数:4页

时间:2019-06-10

如何在Java程序中调用存储过程_第1页
如何在Java程序中调用存储过程_第2页
如何在Java程序中调用存储过程_第3页
如何在Java程序中调用存储过程_第4页
资源描述:

《如何在Java程序中调用存储过程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、如何在Java程序中调用存储过程(一)?(1)  使用scott/tiger用户在Oracle中创建2个表并插入几条数据。Createtablecarl_test(Avarchar2(200));createtablecarl_test1(Bvarchar2(200));--insertsomedataintocarl_test1tableinsertintocarl_test1values('carl1');insertintocarl_test1values('carl2');insertintocarl_test1values('carl3');co

2、mmit;(2)  使用scott/tiger用户在Oracle中创建一个测试存储过程,该存储过程有三个参数,第一个参数为输入参数,最后两个参数为输出参数。为简单起见,没有在该存储过程中加入异常捕获机制。CREATEORREPLACEPROCEDUREcarl_sp_test(v_monthlyINvarchar2,last_inserted_rows_numOUTnumber,all_effected_rows_numOUTnumber)ISBEGIN/*删除carl_test表中所有记录*/deletecarl_test;/*将删除行数赋值给总影响行数

3、*/all_effected_rows_num:=SQL%Rowcount;commit;/*将用户输入参数插入carl_test表中*/insertintocarl_test(a)values(v_monthly);all_effected_rows_num:=all_effected_rows_num+SQL%Rowcount;/*将表carl_test1中的所有记录插入到carl_test1中*/insertintocarl_testselect*fromcarl_test1;/*获得影响记录数*/last_inserted_rows_num:=SQ

4、L%Rowcount;all_effected_rows_num:=all_effected_rows_num+SQL%Rowcount;commit;ENDcarl_sp_test;(3)  使用scott/tiger用户在SQL/Plus中测试上述存储过程SQL>variableall_effected_rows_numnumber;SQL>variablelast_inserted_rows_numnumber;SQL>execcarl_sp_test('firstvar',:last_inserted_rows_num,:all_effected_

5、rows_num);PL/SQLproceduresuccessfullycompletedlast_inserted_rows_num---------3all_effected_rows_num---------4SQL>printlast_inserted_rows_num;last_inserted_rows_num---------3SQL>printall_effected_rows_num;all_effected_rows_num---------4SQL>上述结果表示测试成功(4)  使用下面的Java类TestStoreProcedur

6、e.java测试存储过程。packagetest;importjava.sql.CallableStatement;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.SQLException;importoracle.jdbc.OracleTypes;/***ThisclassisusedtotestOraclestoreprocedure*@authorCarlWu**/publicclassTestStoreProcedure{/***测试主方法*@paramar

7、gs*/publicstaticvoidmain(String[]args){Connectioncon=null;try{//获得数据库连接java.lang.Class.forName("oracle.jdbc.driver.OracleDriver");con=DriverManager.getConnection("jdbc:oracle:thin:scott/tiger@localhost:1521:LEGDB");//测试存储过程TestStoreProceduresp=newTestStoreProcedure();sp.execute(co

8、n,"carl_sp_test","carl");}catch(C

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。