JAVA中如何得到ORACLE存储过程中查询出来的结果集

JAVA中如何得到ORACLE存储过程中查询出来的结果集,第1张

Java 的例子没有, 有 C# 的, 你参考着看看?

/// <summary>

/// 测试 调用 Oracle 返回结果集的函数

/// </summary>

private void CallFuncWithTable(OracleConnection conn)

{

// 创建一个 Command

OracleCommand testCommand = connCreateCommand();

// 定义需要执行的SQL语句

testCommandCommandText = "pkg_HelloWorldgetHelloWorld";

// 定义好,本次执行的类型,是存储过程

testCommandCommandType = CommandTypeStoredProcedure;

// 定义好,我这个参数,是 游标 + 返回值

OracleParameter para = new OracleParameter("c", OracleTypeCursor);

paraDirection = ParameterDirectionReturnValue;

testCommandParametersAdd(para);

// 执行SQL命令,结果存储到Reader中

OracleDataReader testReader = testCommandExecuteReader();

// 处理检索出来的每一条数据

while (testReaderRead())

{

// 将检索出来的数据,输出到屏幕上

ConsoleWriteLine("调用函数:{0}; 返回:{1} - {2}",

testCommandCommandText, testReader[0], testReader[1]

);

}

// 关闭Reader

testReaderClose();

}

其实二楼写的最简单,但对于新手,最好别那么写,至于1楼,如果数据不是很多,没必要搞个游标。你也可以看看我写的 create or replace procedure P_Update(o_vc_message out varchar2) is type column1 is table of table1column1%type index by binary_integer; col1s column1; type rid is table of rowid index by binary_integer; rids rid; temp table1column1%type; begin select column1,rowid bulk collect into col1s,rids from table1; if (column1count != 0) then for i in col1sfirstcol1slast loop temp := col1s(i);--处理 col1s(i) 想干嘛干嘛 update table1 set column1 = temp where rowid = rids(i); end loop; end if; o_vc_message := 'OK!'; exception when others then o_vc_message := 'exception happend' || sqlcode || sqlerrm; rollback; return; end P_Update; 如果仅仅是简单处理column1,比如加1什么的,就别搞那么复杂,一个sql就ok了。

接口?不用吧。

只是需要一个j调jdbc的jar包,我一般用ojdbc6jar

至于过程如何我给你个调用本地oracle的实例代码吧

package odbc;

import javasql;

public class TestOracle {

/

@param args

/

public static void main(String[] args) {

// TODO Auto-generated method stub

Connection ct=null;

Statement sm=null;

ResultSet rs=null;

try{

String driver="oraclejdbcdriverOracleDriver";

ClassforName(driver);

String url="jdbc:oracle:thin:@localhost:1521:数据库名";

String sql="select from emp";

ct=DriverManagergetConnection(url,"scott","tiger");

sm=ctcreateStatement();

rs=smexecuteQuery(sql);

//smexecuteUpdate(sql);

while(rsnext()){

Systemoutprintln(rsgetString(1));

}

} catch (Exception e) {

// TODO: handle exception

eprintStackTrace();

}finally{

try {

rsclose();

smclose();

ctclose();

} catch (Exception e2) {

// TODO: handle exception

}

}

}

}

以上就是关于JAVA中如何得到ORACLE存储过程中查询出来的结果集全部的内容,包括:JAVA中如何得到ORACLE存储过程中查询出来的结果集、java获得oracle存储过程更新 *** 作的影响行数、如果在java中调用oracle的存储过程,需要使用哪些接口等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10116955.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存