AMBIL - Amazon Redshift

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

AMBIL

Mengambil baris menggunakan kursor. Untuk informasi tentang mendeklarasikan kursor, lihat. MENYATAKAN

FETCH mengambil baris berdasarkan posisi saat ini dalam kursor. Ketika kursor dibuat, itu diposisikan sebelum baris pertama. Setelah FETCH, kursor diposisikan pada baris terakhir yang diambil. Jika FETCH berjalan dari akhir baris yang tersedia, seperti mengikuti FETCH ALL, kursor dibiarkan diposisikan setelah baris terakhir.

FORWARD 0 mengambil baris saat ini tanpa menggerakkan kursor; yaitu, ia mengambil baris yang paling baru diambil. Jika kursor diposisikan sebelum baris pertama atau setelah baris terakhir, tidak ada baris yang dikembalikan.

Ketika baris pertama kursor diambil, seluruh set hasil diwujudkan pada node pemimpin, dalam memori atau pada disk, jika diperlukan. Karena potensi dampak kinerja negatif dari penggunaan kursor dengan set hasil yang besar, sebaiknya gunakan pendekatan alternatif bila memungkinkan. Untuk informasi selengkapnya, lihat Pertimbangan kinerja saat menggunakan kursor.

Untuk informasi lebih lanjut, lihatMENYATAKAN,TUTUP.

Sintaks

FETCH [ NEXT | ALL | {FORWARD [ count | ALL ] } ] FROM cursor

Parameter

SELANJUTNYA

Mengambil baris berikutnya. Ini adalah opsi default.

SEMUA

Mengambil semua baris yang tersisa. (Sama seperti FORWARD ALL.) ALL tidak didukung untuk kluster simpul tunggal.

MAJU [hitung | SEMUA]

Mengambil baris hitungan berikutnya, atau semua baris yang tersisa. FORWARD 0mengambil baris saat ini. Untuk cluster simpul tunggal, nilai maksimum untuk hitungan adalah. 1000 FORWARD ALL tidak didukung untuk kluster simpul tunggal.

kursor

Nama kursor baru.

Ambil contoh

Contoh berikut mendeklarasikan kursor bernama LOLLAPALOOZA untuk memilih informasi penjualan untuk acara Lollapalooza, dan kemudian mengambil baris dari set hasil menggunakan kursor:

-- Begin a transaction begin; -- Declare a cursor declare lollapalooza cursor for select eventname, starttime, pricepaid/qtysold as costperticket, qtysold from sales, event where sales.eventid = event.eventid and eventname='Lollapalooza'; -- Fetch the first 5 rows in the cursor lollapalooza: fetch forward 5 from lollapalooza; eventname | starttime | costperticket | qtysold --------------+---------------------+---------------+--------- Lollapalooza | 2008-05-01 19:00:00 | 92.00000000 | 3 Lollapalooza | 2008-11-15 15:00:00 | 222.00000000 | 2 Lollapalooza | 2008-04-17 15:00:00 | 239.00000000 | 3 Lollapalooza | 2008-04-17 15:00:00 | 239.00000000 | 4 Lollapalooza | 2008-04-17 15:00:00 | 239.00000000 | 1 (5 rows) -- Fetch the next row: fetch next from lollapalooza; eventname | starttime | costperticket | qtysold --------------+---------------------+---------------+--------- Lollapalooza | 2008-10-06 14:00:00 | 114.00000000 | 2 -- Close the cursor and end the transaction: close lollapalooza; commit;