JAVA + Oracle儲存過程返回查詢結果集
發表於: 2007.06.09 18:10
分類: 技術文章
出處: http://atgc.itpub.net/post/22412/293784
---------------------------------------------------------------
SQL> desc aa
Name Null? Type
----------------------------------------- -------- ----------------------------
ID VARCHAR2(2)
SQL> select * from aa;
ID
--
1
2
3
4
5
6
7
8
9
10
11
11 rows selected.
---------------
建立PACKAGE
---------------
create or replace package pkg_test
as
type pagination is ref cursor;
procedure page_test
(
p_count in out pls_integer,
p_page in out pagination,
p_beg in pls_integer,
p_end in pls_integer,
p_id in varchar2
);
end;
/
create or replace package body pkg_test
as
procedure page_test
(
p_count in out pls_integer,
p_page in out pagination,
p_beg in pls_integer,
p_end in pls_integer,
p_id in varchar2
)
is
sql_count varchar2(1000) := '';
sql_page varchar2(30000) := '';
begin
sql_count := 'select count(*) from aa';
sql_page := 'select id from aa where rownum<=10';
execute immediate sql_count into p_count;
open p_page for sql_page;
end;
end;
/
---------
test.java
---------
import java.sql.*;
import java.util.*;
import oracle.jdbc.driver.*;
import oracle.sql.*;
public class test
{
public static void main(String args[]) throws Exception
{
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.1.1:1521:資料庫SID","使用者名稱","密碼");
OracleCallableStatement cstmt = (OracleCallableStatement)conn.prepareCall("begin pkg_test.page_test(?,?,?,?,?); end;");
cstmt.registerOutParameter(1,OracleTypes.VARCHAR); //返回記錄數
cstmt.registerOutParameter(2,OracleTypes.CURSOR); //返回結果集
cstmt.setInt(3,1); //起始記錄號
cstmt.setInt(4,10); //結束記錄號
cstmt.setString(5,"10"); //WHERE 條件
cstmt.execute();
ResultSet rs = (ResultSet)cstmt.getObject(2);
while (rs.next())
{
System.out.println(rs.getString(1));
}
}
}
JAVA
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/92289/viewspace-962790/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 儲存過程返回結果集|轉|Oracle儲存過程
- Oracle 儲存過程返回結果集 (轉)Oracle儲存過程
- 儲存過程結果進行查詢 select 存過過程儲存過程
- java使用mybatis 呼叫儲存過程返回一個遊標結果集JavaMyBatis儲存過程
- mysql返回一個結果集的儲存過程小例子MySql儲存過程
- Oracle中過程/函式返回結果集Oracle函式
- Oracle查詢結果 儲存為XMLOracleXML
- 儲存過程返回資料集儲存過程
- PostgreSQL函式:返回表查詢結果集SQL函式
- 在儲存過程A中呼叫儲存過程B的結果儲存過程
- 簡單的mysql儲存過程,輸出結果集MySql儲存過程
- 儲存過程模糊查詢(like)儲存過程
- 用.NET呼叫oracle的儲存過程返回記錄集 (轉)Oracle儲存過程
- 在Oracle中查詢儲存過程和函式Oracle儲存過程函式
- 用java呼叫oracle儲存過程總結JavaOracle儲存過程
- JAVA資料庫處理(連線,資料查詢,結果集返回)Java資料庫
- 查詢儲存過程報錯資訊儲存過程
- java 呼叫oracle 儲存過程JavaOracle儲存過程
- mybatis儲存過程返回listMyBatis儲存過程
- jdbc 呼叫 sql server 的儲存過程時“該語句沒有返回結果集”的解決方法JDBCSQLServer儲存過程
- SQLServer查詢使用者儲存過程SQLServer儲存過程
- mssql 儲存過程呼叫另一個儲存過程中的結果的方法分享SQL儲存過程
- java中呼叫ORACLE儲存過程JavaOracle儲存過程
- 用java呼叫oracle儲存過程JavaOracle儲存過程
- iOS FMDB有返回結果集和無返回結果集iOS
- 帶有儲存過程的組合查詢儲存過程
- java儲存過程Java儲存過程
- Oracle儲存過程Oracle儲存過程
- 查詢某個儲存過程有哪些內容儲存過程
- 【sqlserver】查詢阻塞儲存過程sp_who_lockSQLServer儲存過程
- MySQL 儲存過程空結果集錯誤Error 1329 No data 的異常處理MySql儲存過程Error
- Oracle儲存過程乾貨(一):儲存過程基礎Oracle儲存過程
- Oracle開發人員 JAVA儲存過程OracleJava儲存過程
- Java呼叫Oracle儲存過程的問題JavaOracle儲存過程
- Mybatis 查詢語句結果集總結MyBatis
- JAVA儲存過程(轉)Java儲存過程
- java操作儲存過程Java儲存過程
- Oracle儲存過程-1Oracle儲存過程