Oracle에서 페이징을 구현하는 방법

DDD
풀어 주다: 2023-09-18 13:16:57
원래의
3328명이 탐색했습니다.

페이징 구현 단계: 1. 페이징 쿼리에 ROWNUM을 사용합니다. 2. 쿼리를 실행하기 전에 페이징 매개변수를 설정합니다. 3. "COUNT(*)" 함수를 사용하여 총 행 수를 가져오고 "CEIL"을 사용합니다. 위로 가져오는 함수 총 페이지 수를 계산합니다. 4. 외부 쿼리에서 "WHERE" 절을 사용하여 특정 행 번호 범위를 필터링하여 페이징 쿼리를 구현합니다.

Oracle에서 페이징을 구현하는 방법

Oracle 데이터베이스에서는 ROWNUM 및 페이징 쿼리를 사용하여 페이징 기능을 구현할 수 있습니다. ROWNUM은 Oracle에서 제공하는 유사 열로, 쿼리 결과의 각 행에 고유한 행 번호를 할당하는 데 사용됩니다. ROWNUM과 페이징 쿼리의 조합을 사용하면 지정된 페이지 수와 각 페이지에 표시되는 행 수를 기반으로 특정 데이터를 얻을 수 있습니다.

다음은 Oracle에서 페이징을 구현하는 일반적인 방법입니다.

1. 페이징 쿼리에 ROWNUM을 사용합니다.

먼저 모든 데이터를 가져오기 위한 기본 쿼리 문을 작성하고 이를 기반으로 수행합니다. 페이징 작업. 예를 들어 직원 정보가 포함된 "employees"라는 테이블이 있고 직원 ID를 기반으로 페이징 쿼리를 수행하려고 합니다.

   SELECT *
   FROM (
       SELECT e.*, ROWNUM AS rn
       FROM employees e
       ORDER BY e.employee_id
   )
   WHERE rn BETWEEN :start_row AND :end_row;
로그인 후 복사

위 쿼리 문에서는 각 행의 행 번호를 나타내는 별칭 "rn"이 있는 의사 열로 ROWNUM을 사용했습니다. 그런 다음 이 쿼리를 하위 쿼리로 만들고 외부 쿼리의 "WHERE" 절을 사용하여 특정 범위의 행 번호를 필터링하여 페이징 쿼리를 구현합니다.

2. 페이징 매개변수 설정:

위 쿼리 문에서는 ":start_row" 및 ":end_row" 두 매개변수를 사용하여 각 페이지의 시작 행 번호와 끝 행 번호를 나타냅니다. 쿼리를 실행하기 전에 이러한 매개변수를 설정해야 합니다. 예를 들어, 데이터의 첫 번째 페이지를 가져오고 페이지당 10개의 행을 표시하려면 ":start_row"를 1로 설정하고 ":end_row"를 10으로 설정하면 됩니다.

3. 총 페이지 수 계산:

더 나은 페이징 경험을 얻으려면 일반적으로 총 페이지 수를 계산해야 합니다. 다음 쿼리를 사용하여 총 행과 페이지 수를 얻을 수 있습니다.

   SELECT COUNT(*) AS total_rows, CEIL(COUNT(*) / :page_size) AS total_pages
   FROM employees;
로그인 후 복사

위 쿼리에서는 "COUNT(*)" 함수를 사용하여 총 행 수를 가져오고 "CEIL" 함수를 사용하여 반올림합니다. 최대. ":page_size" 매개변수는 각 페이지에 표시되는 행 수를 나타냅니다.

4. 전체 페이징 쿼리 예:

다음은 Oracle에서 페이징 쿼리를 구현하는 방법을 보여주는 전체 예입니다.

   -- 设置分页参数
   :start_row := (:page_number - 1) * :page_size + 1;
   :end_row := :page_number * :page_size;
   -- 执行分页查询
   SELECT *
   FROM (
       SELECT e.*, ROWNUM AS rn
       FROM employees e
       ORDER BY e.employee_id
   )
   WHERE rn BETWEEN :start_row AND :end_row;
   -- 计算总页数
   SELECT COUNT(*) AS total_rows, CEIL(COUNT(*) / :page_size) AS total_pages
   FROM employees;
로그인 후 복사

위 예에서는 ":page_number" 매개변수를 사용하여 데이터를 나타냅니다. 페이지 수를 얻습니다. 먼저 ":page_number", ":page_size" 매개변수를 기반으로 ":start_row", ":end_row" 매개변수의 값을 계산한 후 페이징 쿼리를 실행합니다. 마지막으로 다른 쿼리를 사용하여 총 행 수와 총 페이지 수를 계산합니다.

요약:

ROWNUM 및 페이징 쿼리를 사용하여 Oracle 데이터베이스에서 페이징 기능을 구현할 수 있습니다. 먼저 기본 쿼리 문을 작성하고 ROWNUM을 의사 열로 사용하여 각 행에 고유한 행 번호를 할당해야 합니다. 그런 다음 이 쿼리를 하위 쿼리로 만들고 외부 쿼리의 "WHERE" 절을 사용하여 특정 범위의 행 번호를 필터링하여 페이징 쿼리를 구현합니다. 또한 더 나은 페이징 경험을 제공하기 위해 페이징 매개변수를 설정하고 총 페이지 수를 계산할 수도 있습니다.

위 내용은 Oracle에서 페이징을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!