table of contents
other languages
other sections
FETCH(7) | SQL - Dil Deyimleri | FETCH(7) |
İSİM¶
FETCH - bir gösterici kullanarak bir sorgudan satırları çekerKULLANIM¶
FETCH [ yön { FROM | IN } ] gösterici_ismi burada yön ya boş ya da şunlardan biri olabilir: NEXT PRIOR FIRST LAST ABSOLUTE miktar RELATIVE miktar miktar ALL FORWARD FORWARD miktar FORWARD ALL BACKWARD BACKWARD miktar BACKWARD ALL
AÇIKLAMA¶
FETCH evvelce oluşturulmuş bir göstericiyi kullanarak satırları çeker.PARAMETRELER¶
- yön
- Çekim yönünü ve çekilecek
satır sayısını tanımlar.
Aşağıdakilerden biri olabilir:
- NEXT
- Sonraki satırı çeker. yön
belirtilmezse bu öntanımlıdır.
- PRIOR
- Önceki satırı çeker.
- FIRST
- Sorgunun ilk satırını çeker
(ABSOLUTE 1 ile aynıdır).
- LAST
- Sorgunun son satırını çeker
(ABSOLUTE -1 ile aynıdır).
- ABSOLUTE miktar
- miktar pozitifse, sorgunun
miktar'ıncı satırını; negatifse, sondan
abs(miktar)'ıncı satırını
çeker. miktar gereğinden büyükse,
gösterici duruma göre ya ilk satırın öncesine ya
da son satırın sonrasına konumlanır; özellikle,
ABSOLUTE 0 göstericinin ilk satırın öncesine
konumlanmasını sağlar.
- RELATIVE miktar
- Göstericinin konumuna göre, miktar
pozitifse, sonraki miktar'ıncı satırı;
negatifse, önceki abs(miktar)'ıncı
satırı çeker. RELATIVE 0 o anki satırı varsa
yeniden çeker.
- miktar
- Sonraki miktar satırı çeker
(FORWARD miktar ile aynıdır).
- ALL
- Kalan satırların hepsini çeker (FORWARD
ALL ile aynıdır).
- FORWARD
- Sonraki satırı çeker (NEXT ile
aynıdır).
- FORWARD miktar
- Sonraki miktar satırı çeker.
FORWARD 0 o anki satırı yeniden çeker.
- FORWARD ALL
- Kalan satırların hepsini çeker.
- BACKWARD
- Önceki satırı çeker (PRIOR ile
aynı).
- BACKWARD miktar
- Önceki miktar satırı çeker.
BACKWARD 0 o anki satırı yeniden çeker.
- BACKWARD ALL
- Önceki tüm satırları çeker (geriye
doğru tarama).
- miktar
- Konumu ya da çekilecek satır
sayısını belirtmek üzere kullanılan bir
işaretli tamsayıdır. FORWARD ve BACKWARD
için belirtilen bir negatif miktar yönün
değişmesine sebep olur.
- gösterici_ismi
- Açık bir göstericinin ismi.
ÇIKTILAR¶
FETCH başarılı olduğunda şöyle bir çıktı döndürür:FETCH miktar
EK BİLGݶ
FETCH cümlesinin, pozitif bir miktar ile FETCH NEXT veya FETCH FORWARD biçimleri dışında bir biçimle kullanılması düşünülüyorsa, gösterici SCROLL seçeneği ile bildirilmelidir. Basit sorgular için PostgreSQL, SCROLL ile bildirilmemiş göstericilerden geriye doğru satır çekilmesine izin verir, fakat bu davranışın en iyisi olduğuna güvenmeyin. Eğer gösterici NO SCROLL ile bildirilmişse geri yönde satır çekmeye izin verilmez.ÖRNEKLER¶
Aşağıdaki örnekte bir tablo gösterici kullanılarak incelenmektedir:BEGIN WORK; -- Göstericiyi bildirelim: DECLARE liahona SCROLL CURSOR FOR SELECT * FROM films; -- liahona göstericisinden ilk 5 satırı çekelim: FETCH FORWARD 5 FROM liahona; code | title | did | date_prod | kind | len -------+-------------------------+-----+------------+----------+------- BL101 | The Third Man | 101 | 1949-12-23 | Drama | 01:44 BL102 | The African Queen | 101 | 1951-08-11 | Romantic | 01:43 JL201 | Une Femme est une Femme | 102 | 1961-03-12 | Romantic | 01:25 P_301 | Vertigo | 103 | 1958-11-14 | Action | 02:08 P_302 | Becket | 103 | 1964-02-03 | Drama | 02:28 -- Önceki satırı çekelim: FETCH PRIOR FROM liahona; code | title | did | date_prod | kind | len -------+---------+-----+------------+--------+------- P_301 | Vertigo | 103 | 1958-11-14 | Action | 02:08 -- Göstericiyi kapatıp hareketi sonlandıralım: CLOSE liahona; COMMIT WORK;
UYUMLULUK¶
SQL standardındaki FETCH deyimini sadece gömülü SQL'de kullanmak içindir. Burada açıklanan FETCH ise, veriyi bir konak değişkenine yerleştirilmiş olarak değil, bir SELECT sonucu gibi döndürür. Bunun dışında FETCH, SQL standardı ile tamamen uyumludur.İLGİLİ BELGELER¶
CLOSE [close(7)], DECLARE [declare(7)], MOVE [move(7)].ÇEVİREN¶
Nilgün Belma Bugüner <nilgun (at) belgeler·gen·tr>, Nisan 2005PostgreSQL |