Dalam Oracle, ambil digunakan untuk mengehadkan bilangan baris yang dikembalikan oleh pertanyaan Anda boleh menentukan bilangan baris yang akan dilangkau sebelum had baris bermula, offset ialah 0 dan baris had dikira dari baris pertama , sintaksnya ialah "[OFFSET offset ROWS]AMBIT BARIS SETERUSNYA[SAHAJA|BERSAMA UJIAN]".
Persekitaran pengendalian tutorial ini: sistem Windows 10, versi Oracle 11g, komputer Dell G3.
Klausa FETCH boleh digunakan dalam Oracle untuk mengehadkan bilangan baris yang dikembalikan oleh pertanyaan Tutorial ini akan mengajar anda cara menggunakan FETCH klausa.
Sintaks Klausa FETCH Oracle
Yang berikut menggambarkan sintaks klausa had baris:
[ OFFSET offset ROWS] FETCH NEXT [ row_count | percent PERCENT ] ROWS [ ONLY | WITH TIES ]
Klausa OFFSET menentukan bilangan baris untuk dilangkau sebelum had baris bermula . Klausa OFFSET adalah pilihan. Jika anda melangkaunya, offset ialah 0 dan had baris dikira dari baris pertama.
Offset mestilah nombor atau ungkapan yang nilainya ialah nombor. Offset mematuhi peraturan berikut:
Jika ofset ialah nilai negatif, ia dianggap sebagai 0.
Jika ofset adalah NULL atau lebih besar daripada bilangan baris yang dikembalikan oleh pertanyaan, tiada baris dikembalikan.
Jika ofset mengandungi pecahan, bahagian pecahan dipotong.
Klausa FETCH menentukan bilangan atau peratusan baris untuk dikembalikan.
Untuk tujuan kejelasan semantik, anda boleh menggunakan kata kunci ROW bukannya ROWS, FIRST bukannya NEXT. Sebagai contoh, klausa berikut berkelakuan dan menghasilkan keputusan yang sama:
FETCH NEXT 1 ROWS FETCH FIRST 1 ROW
HANYA DENGAN pilihan IKATAN
hanya mengembalikan bilangan baris atau peratusan bilangan baris selepas FETCH NEXT (atau PERTAMA) .
WITH TIES mengembalikan kekunci isihan yang sama seperti baris terakhir. Ambil perhatian bahawa jika anda menggunakan WITH TIES, anda mesti menyatakan klausa ORDER BY dalam pertanyaan. Jika anda tidak melakukan ini, pertanyaan tidak akan mengembalikan baris tambahan.
Contoh klausa Oracle FETCH
1 Contoh mendapatkan N baris pertama rekod
Pernyataan berikut mengembalikan 10 produk teratas dengan yang tertinggi. inventori:
-- 以下查询语句仅能在Oracle 12c以上版本执行 SELECT product_name, quantity FROM inventories INNER JOIN products USING(product_id) ORDER BY quantity DESC FETCH NEXT 5 ROWS ONLY;
Tutorial disyorkan: "Tutorial Video Oracle"
Atas ialah kandungan terperinci Apakah kegunaan fetch dalam oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!