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的存储过程,需要使用哪些接口等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)