Provided by:
manpages-tr_1.0.5.1-2_all 
ISIM
FETCH - bir gosterici kullanarak bir sorgudan satirlari ceker
KULLANIM
FETCH [ y"on { FROM | IN } ] g"osterici_ismi
burada y"on ya bos ya da sunlardan biri olabilir:
NEXT
PRIOR
FIRST
LAST
ABSOLUTE miktar
RELATIVE miktar
miktar
ALL
FORWARD
FORWARD miktar
FORWARD ALL
BACKWARD
BACKWARD miktar
BACKWARD ALL
A,CIKLAMA
FETCH evvelce olusturulmus bir gostericiyi kullanarak satirlari ceker.
Bir gosterici FETCH tarafindan da kullanilan ortak bir konuma sahiptir.
Gostericinin konumu sorgu sonucunun ilk satirinin oncesinde, herhangi
bir satirinda veya son satirinin sonrasinda olabilir. Ilk
olusturuldugunda bir gosterici ilk satirin oncesine konumlanir.
Satirlar cekildikten sonra gosterici en son alinan satira konumlanir.
FETCH'in satirlari cekip calismasi durdugunda gosterici son satirin
sonrasina ya da eger geriye cekilmisse ilk satirin oncesine konumlanir.
FETCH ALL gostericiyi daima son satirin sonrasina, FETCH BACKWARD ALL
ise daima ilk satirin oncesine konumlandirir.
NEXT (sonraki), PRIOR (onceki), FIRST (ilk), LAST (son), ABSOLUTE
(mutlak), RELATIVE (goreli) bicimleri gostericiyi ilgili konuma
tasidiktan sonra tek bir satiri ceker. O konumda bir satir yoksa, sonuc
bos olarak doner ve gosterici duruma gore ya ilk satirin oncesine ya da
son satirin sonrasina konumlanir.
FORWARD (ileri) ve BACKWARD (geri) bicimleri, ileri ya da geri yonde
belirtilen miktarda satiri cekmek icin kullanilabilir. Gosterici son
cekilen satira konumlanmis olarak birakilir (eger miktar alinabilecek
satir sayisindan fazla ise, gosterici duruma gore son satirin sonrasina
ya da ilk satirin oncesine konumlanir).
RELATIVE 0, FORWARD 0, ve BACKWARD 0 bicimlerinin hepsi gosterici
hareket ettirilmeden o anki satirin cekilmesini saglar, yani son
cekilen satir yeniden cekilir. Bu, ancak, gosterici ilk satirin
oncesinde ya da son satirin sonrasinda degilse bir satirin cekilmesini
saglar; aksi takdirde, bir satir dondurulmez.
PARAMETRELER
y"on Cekim yonunu ve cekilecek satir sayisini tanimlar.
Asagidakilerden biri olabilir:
NEXT Sonraki satiri ceker. y"on belirtilmezse bu ontanimlidir.
PRIOR Onceki satiri ceker.
FIRST Sorgunun ilk satirini ceker (ABSOLUTE 1 ile aynidir).
LAST Sorgunun son satirini ceker (ABSOLUTE -1 ile aynidir).
ABSOLUTE miktar
miktar pozitifse, sorgunun miktar'inci satirini;
negatifse, sondan abs(miktar)'inci satirini ceker. miktar
gereginden buyukse, gosterici duruma gore ya ilk satirin
oncesine ya da son satirin sonrasina konumlanir;
ozellikle, ABSOLUTE 0 gostericinin ilk satirin oncesine
konumlanmasini saglar.
RELATIVE miktar
Gostericinin konumuna gore, miktar pozitifse, sonraki
miktar'inci satiri; negatifse, onceki abs(miktar)'inci
satiri ceker. RELATIVE 0 o anki satiri varsa yeniden
ceker.
miktar Sonraki miktar satiri ceker (FORWARD miktar ile aynidir).
ALL Kalan satirlarin hepsini ceker (FORWARD ALL ile aynidir).
FORWARD
Sonraki satiri ceker (NEXT ile aynidir).
FORWARD miktar
Sonraki miktar satiri ceker. FORWARD 0 o anki satiri
yeniden ceker.
FORWARD ALL
Kalan satirlarin hepsini ceker.
BACKWARD
Onceki satiri ceker (PRIOR ile ayni).
BACKWARD miktar
Onceki miktar satiri ceker. BACKWARD 0 o anki satiri
yeniden ceker.
BACKWARD ALL
Onceki tum satirlari ceker (geriye dogru tarama).
miktar Konumu ya da cekilecek satir sayisini belirtmek uzere kullanilan
bir isaretli tamsayidir. FORWARD ve BACKWARD icin belirtilen bir
negatif miktar yonun degismesine sebep olur.
g"osterici_ismi
Acik bir gostericinin ismi.
,CIKTILAR
FETCH basarili oldugunda soyle bir cikti dondurur:
FETCH miktar
Burada, miktar cekilen satirlarin sayisidir (sifir olabilir). Yalniz,
psql'de komutun ismi ciktida gosterilmez, sadece cekilen satir sayisi
gosterilir.
EK BILGI
FETCH cumlesinin, pozitif bir miktar ile FETCH NEXT veya FETCH FORWARD
bicimleri disinda bir bicimle kullanilmasi dusunuluyorsa, gosterici
SCROLL secenegi ile bildirilmelidir. Basit sorgular icin PostgreSQL,
SCROLL ile bildirilmemis gostericilerden geriye dogru satir cekilmesine
izin verir, fakat bu davranisin en iyisi olduguna guvenmeyin. Eger
gosterici NO SCROLL ile bildirilmisse geri yonde satir cekmeye izin
verilmez.
ABSOLUTE ile satir cekimleri istenen satiri bir goreli hareketle
cekmekten daha hizli degildir: temel gerceklenim aradaki satirlarin
tumunu bir sekilde gecmelidir. Negatif mutlak cekimlerin durumu daha
bile kotudur: Sorgunun, son satiri bulana kadar tum satirlari okumasi
ve buradan, cekilecek satira kadar olan satirlari tekrar gecmesi
gerekir. Yine de, sorgunun basa donmesi hizli olur (FETCH ABSOLUTE 0
ile oldugu gibi).
Gosterici uzerinden guncelleme PostgreSQL tarafindan simdilik
desteklenmemektedir.
Bir gotericiyi tanimlamak icin DECLARE [declare(7)] kullanilir. Veri
dondurmeksizin gostericiyi hareket ettirmek icin MOVE [move(7)]
kullanabilirsiniz.
"ORNEKLER
Asagidaki ornekte bir tablo gosterici kullanilarak incelenmektedir:
BEGIN WORK;
-- Gostericiyi bildirelim:
DECLARE liahona SCROLL CURSOR FOR SELECT * FROM films;
-- liahona gostericisinden ilk 5 satiri cekelim:
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
-- Onceki satiri cekelim:
FETCH PRIOR FROM liahona;
code | title | did | date_prod | kind | len
-------+---------+-----+------------+--------+-------
P_301 | Vertigo | 103 | 1958-11-14 | Action | 02:08
-- Gostericiyi kapatip hareketi sonlandiralim:
CLOSE liahona;
COMMIT WORK;
UYUMLULUK
SQL standardindaki FETCH deyimini sadece gomulu SQL'de kullanmak
icindir. Burada aciklanan FETCH ise, veriyi bir konak degiskenine
yerlestirilmis olarak degil, bir SELECT sonucu gibi dondurur. Bunun
disinda FETCH, SQL standardi ile tamamen uyumludur.
FORWARD ve BACKWARD bicimleriyle FORWARD ortuk olma uzere FETCH miktar
ve FETCH ALL bicimleri birer PostgreSQL olusumudur.
SQL standardi FROM deyimine sadece ismin onunde izin verir; IN
kullanimi bir PostgreSQL olusumudur.
ILGILI BELGELER
CLOSE [close(7)], DECLARE [declare(7)], MOVE [move(7)].
,CEVIREN
Nilgun Belma Buguner <nilgun (at) belgeler.gen.tr>, Nisan 2005