Java 호출 메모리 프로세스로 페이지 조회
/*
:
*/
-- :select * from (select a.*, rownum rn from (select * from emp) a where rownum <= 10) where rn >= 5;
--
create or replace package pak_Paging is
type paging_cursor_type is ref cursor;
end;
-- pro_Paging( , , , , , )
create or replace procedure pro_Paging(tableName in varchar2, pagingSize in number, pageNum in number, rowSum out number, pageCount out number, paging_cursor out pak_Paging.paging_cursor_type) is
--
-- sql
v_sql varchar2(1000);
-- ,
v_begin number := (pageNum - 1) * pagingSize + 1;
v_end number := pageNum * pagingSize ;
begin
--
v_sql := 'select * from (select a.*, rownum rn from (select * from '|| tableName ||') a where rownum <= '|| v_end ||') where rn >= '|| v_begin ||'';
-- , sql
open paging_cursor for v_sql;
--
v_sql := 'select count(*) from ' || tableName;
-- sql, rowSum
execute immediate v_sql into rowSum;
-- PageCount
if mod(rowSum, pagingSize)=0 then
pageCount := rowSum/pagingSize;
else
pageCount := rowSum/pagingSize + 1;
end if;
--
--close paging_cursor;
end;
/* Java
public class TestPagingProcedure {
public static void main(String[] args) {
Connection conn = null;
CallableStatement cs = null;
String tableName = "emp";
//
int pageSize = 5;
//
int pageNum = 3;
int rowSum, pageCount;
try {
//
Class.forName("oracle.jdbc.driver.OracleDriver");
//
conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl", "dog", "dog");
cs = conn.prepareCall("{call PRO_PAGING(?, ?, ?, ?, ?, ? )}");
cs.setString(1, tableName);
cs.setInt(2, pageSize);
cs.setInt(3, pageNum);
//
//
cs.registerOutParameter(4, oracle.jdbc.OracleTypes.INTEGER);
//
cs.registerOutParameter(5, oracle.jdbc.OracleTypes.INTEGER);
//
cs.registerOutParameter(6, oracle.jdbc.OracleTypes.CURSOR);
cs.execute();
//
rowSum = cs.getInt(4);
pageCount = cs.getInt(5);
System.out.println(" : " + rowSum + " ---- : " + pageCount);
ResultSet rs = (ResultSet) cs.getObject(6);
while (rs.next()) {
System.out.println(" :" + rs.getInt(1) + " :" + rs.getString(2) + " :" + rs.getString(3) + " :" + rs.getString(4) + " :" + rs.getString(5) + " :" + rs.getString(6) + " :" + rs.getString(7) + " :" + rs.getString(8));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
cs.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
*/
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Java 호출 Oracle 스토리지 프로세스 상세 정보Java 호출 Oracle 스토리지 프로세스 상세 정보 단계: 1. Oracle 스토리지 프로세스 작성 2. 데이터베이스 작성 연결 도구 클래스 얻기 3. 간단한 응용 프로그램 호출 저장 프로세스 작성 구현: 1. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.