웹 사이트의 페이지 행을 선택할 C# 코드에서 oracle 데이터베이스 요청을 작성해야합니다. 예를 들어 두 번째 페이지에 대해 100에서 200까지의 행을 얻으 려합니다. 나는 변화가 랩 내부에이 블록은페이징 (오라클 데이터베이스)
SELECT * FROM ORDERS WHERE CustomerID LIKE 'A%'
ORDER BY OrderDate DESC, ShippingDate DESC
하지만 어떻게 작동합니까 때, 나는 그것을 사용할 수있는 실제 어떤 작품
그것은 작동SELECT * FROM
(
SELECT a.*, rownum r__
FROM
(
SELECT * FROM ORDERS WHERE CustomerID LIKE 'A%'
ORDER BY OrderDate DESC, ShippingDate DESC
) a
WHERE rownum < ((pageNumber * pageSize) + 1)
)
WHERE r__ >= (((pageNumber-1) * pageSize) + 1)
몇 가지 코드를 발견? 나는 이해할 수 없다. 나는 SQL 요청을 잘 알고있어하지만
SELECT a.*, rownum r__
무엇이며 랩 FROM 후
) a
무엇인가?
이 포장을 설명해 주실 수 있습니까?
또한'optimizer_mode = FIRST_ROWS'를 설정하면 도움이 될 수 있습니다. 또한 그 목적을 위해'row_number()'분석 함수를 살펴볼 것을 권한다. – haki