云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > Java操作Oracle的基本方式总结

Java操作Oracle的基本方式总结

  • 62 次阅读
  • 3 次下载
  • 2026/4/26 2:03:46

3、 存储过程执行

3.1 无返回值的存储过程执行

1、建立存储过程

CREATE OR REPLACE PROCEDURE TESTA(PARA1 IN VARCHAR2,PARA2 IN VARCHAR2)

Is

BEGIN

INSERT INTO T_TEST (I_ID,I_NAME) VALUES (PARA1, PARA2);

END TESTA;

2、相应的JAVA程序

Package dusuzhong.Java.Oracle.Test;

import java.sql.*;

import java.io.OutputStream; import java.io.Writer;

import java.sql.PreparedStatement; import java.sql.ResultSet; import oracle.jdbc.driver.*;

public class TestProcedureOne {

public TestProcedureOne() { }

public static void main(String[] args ) {

Connection conn = null; //Statement stmt = null; //ResultSet rs = null;

//CallableStatement cstmt = null; try {

conn = new ConnOraDB.getConneciton(); CallableStatement proc = null;

//proc = conn.prepareCall(\

proc = conn.prepareCall(\

proc.setString(1, \ //参数1设置为“100”

proc.setString(2, \参数2设置为“TestOne” proc.execute(); }

catch (SQLException e) {

e.printStackTrace(); }

finally {

try {

if(rs != null) {

rs.close(); }

if(stmt!=null) {

stmt.close(); }

if(conn!=null) {

conn.close(); }

} catch(Eexeption e) { Exit(0);

} }

}

} 注:调用存储过程时,切勿在call语句的前后使用空格。 3.2 有返回值的存储过程执行

1、存储过程为

CREATE OR REPLACE PROCEDURE TESTB(PARA1 IN VARCHAR2,PARA2 OUT VARCHAR2)

Is

BEGIN

SELECT INTO PARA2 FROM TESTTB WHERE I_ID= PARA1;

END TESTB;

2、JAVA代码

Package dusuzhong.Java.Oracle.Test;

import java.sql.*;

import java.io.OutputStream; import java.io.Writer;

import java.sql.PreparedStatement; import java.sql.ResultSet; import oracle.jdbc.driver.*;

public class TestProcedureTWO {

public TestProcedureTWO() { } public static void main(String[] args )

{

Connection conn = null; Statement stmt = null; ResultSet rs = null;

CallableStatement proc = null; try { conn = new ConnOraDB.getConnection(); proc = conn.prepareCall(\ proc.setString(1, \ proc.registerOutParameter(2, Types.VARCHAR); proc.execute(); String testPrint = proc.getString(2); System.out.println(\}

catch(SQLException ex2) { ex2.printStackTrace(); }

catch(Exception e)

{ e.printStackTrace(); }

finally {

try { If (conn != null)

{ conn.close(); } If () }

catch(Exception e) { e.printStackTrace(); } } }

} 注:这里的proc.getString(2)中的数值2并非任意的,而是和存储过程中的out列对应的,如果out是在第一个位置,那就是proc.getString(1),如果是第三个位置,就是proc.getString(3),当然也可以同时有多个返回值,那就是再多加几个out参数了。

3.3 返回游标 1、存储过程为

CREATE OR REPLACE PACKAGE TESTPACKAGE IS

TYPE Test_CURSOR IS REF CURSOR;

procedure TESTC(cur_ref out Test_CURSOR); end TESTPACKAGE;

create or replace package body TESTPACKAGE is

procedure TESTC(cur_ref out Test_CURSOR) is begin

OPEN cur_ref FOR

SELECT * FROM T_TEST;

end TESTC;

END TESTPACKAGE;

搜索更多关于: Java操作Oracle的基本方式总结 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

3、 存储过程执行 3.1 无返回值的存储过程执行 1、建立存储过程 CREATE OR REPLACE PROCEDURE TESTA(PARA1 IN VARCHAR2,PARA2 IN VARCHAR2) Is BEGIN INSERT INTO T_TEST (I_ID,I_NAME) VALUES (PARA1, PARA2); END TESTA; 2、相应的JAVA程序 Package dusuzhong.Java.Oracle.Test; import java.sql.*; import java.io.OutputStream; import java.io.Writer; <

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com