Pertanyaan Select * From Person Where rownum > 100 and rownum < 200
mengembalikan set hasil kosong kerana ROWNUM memperuntukkan nombor kepada baris semasa ia diambil semula. Fasal WHERE
menapis selepas ROWNUM telah memperuntukkan nombor. Baris dengan ROWNUM lebih daripada 100 hanya dianggap selepas 100 baris pertama telah diproses dan diberikan nilai ROWNUM.
Ciri Had Baris Atas-n Oracle 12c menyediakan pendekatan yang lebih mudah untuk penomboran. Sintaks Select ... FROM ... WHERE rownum BETWEEN lowerBound AND upperBound
secara langsung memilih baris dalam julat yang ditentukan, menghapuskan keperluan untuk subkueri.
Untuk mengelak daripada memaparkan lajur ROWNUM, senaraikan lajur yang dikehendaki secara eksplisit dalam senarai SELECT
pertanyaan luar. Sebagai alternatif, buat paparan untuk merangkum pertanyaan atau gunakan perintah NOPRINT
SQL*Plus untuk menyekat output yang tidak diingini.
Penomboran tepat dengan ROWNUM engsel pada pembinaan pertanyaan yang betul. Yang penting, susun keputusan menggunakan pengecam unik (kunci utama) untuk memastikan pemilihan baris yang konsisten merentas halaman. Walaupun pesanan oleh ROWNUM itu sendiri tidak menafikan FIRST_ROWS(N)
, menggunakan pengecam unik menjamin pengambilan baris yang dimaksudkan.
Atas ialah kandungan terperinci Bagaimanakah ROWNUM Berfungsi dalam Pertanyaan Penomboran Oracle?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!