日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle java存储过程返回值_java程序调用Oracle 存储过程 获取返回值(无返回,非结果集,结果集)...

發布時間:2024/9/27 编程问答 84 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle java存储过程返回值_java程序调用Oracle 存储过程 获取返回值(无返回,非结果集,结果集)... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

java程序調用Oracle 存儲過程 獲取返回值(無返回,非結

果集,結果集)

oracle中procedure是不能有返回值的,要想返回值,就得有

輸出參數,同樣要想返回記錄集,可以把游標類型作為輸出參

數。

下面是詳細情況說明:

一:無返回值的存儲過程調用

存儲過程:

create ?or replace Procedure PRO_1(PARA1 in

VARCHAR2,PARA2 in VARCHAR2) ? as

begin

insert into ?EMP(ID,NAME) values (PARA1,

PARA2);

end PRO_1;

java程序調用:(和下面類同)

二:有返回值的存儲過程調用(非結果集)

存儲過程:

create ?or replace Procedure PRO_2(PARA1 in

VARCHAR2,PARA2 OUT VARCHAR2) ? as

bigin

select NAME into PARA2 from EMP where ID=

PARA1;

end PRO_2;

java程序調用:

DriverManager.registerDriver(new

oracle.jdbc.driver.OracleDriver());

Connection conn =

DriverManager.getConnection(

"jdbc:oracle:thin:@202.96.28.250:1521:

"username", "password");

CallableStatement st = conn.prepareCall("{

PRO_2(?,?)}");

st.setString(1,"1");

st.registerOutParameter(2,OracleTypes.VARCHAR

st.execute();

String name = st.getString(2);//2與上面存儲

的out參數位置對應,也可以同時有多個返回值,那就是

再多加幾個out參數了

System.out.println(r.getString("title"));

三:有返回值的存儲過程調用(返回結果集)

存儲過程:

create or replace procedure Test(p_cur in out

sys_refcursor)

as

begin

open p_cur for select * from BOOK;

end;

java程序調用:

try {

DriverManager.registerDriver(new

oracle.jdbc.driver.OracleDriver());

Connection conn =

DriverManager.getConnection(

"jdbc:oracle:thin:@202.96.28.250:1521:

"username", "password");

CallableStatement st = conn.prepareCall(

"{call Test(?)}");

st.registerOutParameter(1,OracleTypes.CURSOR)

st.execute();

ResultSet r = (ResultSet) st.getObject(1);

while (r.next()) {

System.out.println(r.getString("title"));

}

}

catch(Exception e) {

}

總結

以上是生活随笔為你收集整理的oracle java存储过程返回值_java程序调用Oracle 存储过程 获取返回值(无返回,非结果集,结果集)...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。