Provided by:
manpages-tr_1.0.5.1-2_all 
ISIM
DECLARE - bir gosterici tanimlar
KULLANIM
DECLARE isim [ BINARY ] [ INSENSITIVE ] [ [ NO ] SCROLL ]
CURSOR [ { WITH | WITHOUT } HOLD ] FOR sorgu
[ FOR { READ ONLY | UPDATE [ OF s"utun [, ...] ] } ]
A,CIKLAMA
DECLARE buyukce bir sorgunun zamanasimi icinde az sayida satirin bir
kullanici tarafindan cekilmesi icin kullanilabilecek gostericilerin
bildirimini yapmakta kullanilir. FETCH [fetch(7)] kullanilarak veri
ister metin ister ikilik bicimde gostericiden dondurulebilir.
Normal gostericiler SELECT'in urettigi gibi veriyi metin biciminde
dondurur. Veri dogal ortaminda ikilik bicimde saklandigindan, sistemin
metin bicimine donusum yapmasi gerekir. Metin biciminde gelen veriyi
istemci uygulamanin, uzerinde islem yapabilmek icin ikilik bicime
donusturmesi gerekebilir. Bundan baska metin bicimindeki veri
cogunlukla ikilik bicimdeki veriden daha fazla yer kaplar. Ikilik
gostericiler veriyi daha kolay islenebilen ikilik gosterimde
dondururler. Ancak, veriyi metin biciminde gostermeyi tasarliyorsaniz,
verinin metin biciminde alinmasi istemci tarafinda daha az caba
gerektirecektir.
Bir ornek vermek gerekirse, bir sorgunun bir tamsayi deger iceren bir
sutundan veri dondurmesini istiyorsaniz, bir ontanimli gosterici ile 1
iceren bir dizge alirken, bir ikilik gosterici bu degerin 4 baytlik
alan iceren dahili gosterimini dondurecektir (big-endian -- en kiymetli
bayt ilk).
Ikilik gostericiler dikkatli kullanilmalidir. psql dahil cogu uygulama,
ikilik gostericileri bilmez ve veriyi metin biciminde dondurur.
Bilgi: "Gelismis sorgulama" (extended query) protokolunu kullanan bir
istemci uygulamasi, verilen bir FETCH komutuyla, Bind
protokolunun veriyi ikilik bicimde mi yoksa metin biciminde mi
alacagini belirtir. Bu secim gostericinin bildirilmesi sirasinda
belli bir bicime zorlanabilir. Gelismis sorgu protokolu
kullanarak bir ikilik gosterici alinabilecegini ummak, bu
nedenle atildir; her gosterici metin ya da ikilik olarak ele
alinabilir.
PARAMETRELER
isim Olusturulacak gostericinin ismi.
BINARY Gostericinin metin degil ikilik bicimde veri dondurmesini
saglar.
INSENSITIVE
Gostericiden alinan verinin, gosterici etkinken, soruladigi
tablolardaki guncellemelerden etkilenmeyecegini belirtir.
PostgreSQL'de tum gostericiler boyledir ve bu sozcuk simdilik
etkisizdir, sadece SQL standardiyla uyum icin vardir.
SCROLL, NO SCROLL
Gostericinin satirlari sirali olmayan bicimde dondurmek icin
kullanilabilecegini belirtmek icin kullanilir. SCROLL deyiminin
belirtilmesi, sorgunun calistirilma planinin karmasikligina
bagli olarak, sorgunun calismasi sirasinda bir basarim kaybi
olusturabilir. NO SCROLL ise, gostericinin satirlari sirali
olmayan bicimde dondurmek icin kullanilamayacagini belirtir.
WITH HOLD, WITHOUT HOLD
WITH HOLD, gostericinin olusturuldugu hareketin tamamlanmasindan
sonra kullanilmaya devam edilebilecegini belirtir. WITHOUT HOLD
ise gostericinin olusturuldugu hareket disinda
kullanilamayacagini belirtir. Ne WITHOUT HOLD ne de WITH HOLD
belirtilmisse, WITHOUT HOLD ontanimlidir.
sorgu Gosterici tarafindan dondurulecek satirlari uretecek bir SELECT
cumlesi. Gecerli sorgular hakkinda bilgi edinmek icin SELECT
[select(7)] kilavuz sayfasina bakiniz.
FOR READ ONLY, FOR UPDATE
FOR READ ONLY gostericinin salt okunur kipte kullanilacagini
belirtir. FOR UPDATE ise gostericinin tablolari guncellemekte
kullanilacagini belirtir. Gosterici guncellemeleri PostgreSQL'de
desteklenmediginden, FOR UPDATE kullanimi bir hata iletisine
sebep olacak, FOR READ ONLY deyiminin ise bir etkisi
olmayacaktir.
s"utun Gosterici tarafindan guncellenecek sutunlar. Gosterici
guncellemeleri PostgreSQL'de desteklenmediginden, FOR UPDATE
kullanimi bir hata iletisine sebep olur.
BINARY, INSENSITIVE ve SCROLL sozcukleri herhangi bir sirada
kullanilabilir.
EK BILGI
WITH HOLD belirtilmedikce, bu cumle ile olusturulan gosterici sadece o
anki hareketin icinde kullanilmis olabilir. Bu nedenle, WITH HOLD'suz
DECLARE bir hareket kumesinin disinda kullanissiz oldugu gibi,
kullanildigi takdirde PostgreSQL bir hata iletisi uretecektir. Bir
hareket kumesini tanimlamak icin BEGIN [begin(7)], COMMIT [commit(7)]
ve ROLLBACK [rollback(7)] kullanilir.
Eger WITH HOLD belirtilmis ve gostericinin olusturuldugu hareket
baasariyla tamamlanmissa, bu gosterici ayni oturumun daha sonraki
hareketleri tarafindan erisilebilir olacaktir. (Fakat hareket kesintiye
ugramis ve tamamlanmamissa, gosterici iptal edilir.) WITH HOLD ile
olusturulmus bir gosterici, dogrudan bir CLOSE komutuyla ya da dolayli
olarak oturum sonunda kapatilir. Simdiki gerceklenimde, boyle bir
gosterici tarafindan sunulan satirlar ya gecici bir dosyaya ya da
bellege kopyalanarak daha sonraki hareketler icin kullanilabilir
kalmasi saglanir.
Bir gosterici satirlarin geri yonde cekilmesi icin kullanilacaksa, bu
gosterici bildirilirken SCROLL secenegi belirtilmelidir. Bu SQL
standardinin geregidir. Ancak, onceki surumlerle uyumluluk icin, eger
gostericinin sorgusu desteklenmek icin ek bir masraf gerektirmeyecek
kadar basitse, PostgreSQL SCROLL olmaksizin geriye dogru satir cekmeye
izin verecektir. Yine de, uygulama gelistiriciler onerimiz, SCROLL
belirtmeden olusturulmus gostericilere, geriye dogru satir cekimi icin
guvenmemeleri olacaktir. Eger, NO SCROLL belirtilmisse hicbir durumda
geri yonde satir cekmeye izin verilmeyecektir.
SQL standardi sadece gomulu SQLde gostericiler icin hukumler icerir.
PostgreSQL sunucusu gostericiler icin bir OPEN deyimi gerceklemez; bir
gosterici bildirildigi andan itibaren acik kabul edilir. Yine de,
PostgreSQL'in gomulu SQL onislemcisi olan ECPG, DECLARE ve OPEN
deyimlerini de icererek, standart SQL uzlasimlarini destekler.
"ORNEKLER
Bir gostericiyi bildirmek icin:
DECLARE liahona CURSOR FOR SELECT * FROM films;
Gosterici kullanimi ile ilgili daha fazla ornek icin FETCH [fetch(7)]
kilavuz sayfasina bakiniz.
UYUMLULUK
SQL standardi sadece gomulu SQL'de ve modullerde gostericilere izin
verir. PostgreSQL ise, gostericilerin etkilesimli olarak kullanimina
izin verir.
SQL standardi gostericilerin tablo verisini guncellemek icin
kullanimina izin verir. PostgreSQL gostericilerinin ise hepsi salt
okunurdur.
Ikilik gostericiler bir PostgreSQL olusumudur.
ILGILI BELGELER
CLOSE [close(7)], FETCH [fetch(7)], MOVE [move(7)].
,CEVIREN
Nilgun Belma Buguner <nilgun (at) belgeler.gen.tr>, Nisan 2005