Provided by: manpages-tr_1.0.5.1-1.1_all bug

İSİM

       DECLARE - bir gösterici tanımlar

KULLANIM

       DECLARE isim [ BINARY ] [ INSENSITIVE ] [ [ NO ] SCROLL ]
           CURSOR [ { WITH | WITHOUT } HOLD ] FOR sorgu
           [ FOR { READ ONLY | UPDATE [ OF stun [, ...] ] } ]

AÇIKLAMA

       DECLARE  büyükçe  bir  sorgunun zamanaşımı içinde az sayıda satırın bir
       kullanıcı tarafından  çekilmesi  için  kullanılabilecek  göstericilerin
       bildirimini  yapmakta  kullanılır.  FETCH  [fetch(7)] kullanılarak veri
       ister metin ister ikilik biçimde göstericiden döndürülebilir.

       Normal göstericiler SELECT'in  ürettiği  gibi  veriyi  metin  biçiminde
       döndürür.  Veri doğal ortamında ikilik biçimde saklandığından, sistemin
       metin biçimine dönüşüm yapması gerekir. Metin  biçiminde  gelen  veriyi
       istemci  uygulamanın,  üzerinde  işlem  yapabilmek  için  ikilik biçime
       dönüştürmesi  gerekebilir.  Bundan   başka   metin   biçimindeki   veri
       çoğunlukla  ikilik  biçimdeki  veriden  daha  fazla  yer kaplar. İkilik
       göstericiler  veriyi   daha   kolay   işlenebilen   ikilik   gösterimde
       döndürürler.  Ancak, veriyi metin biçiminde göstermeyi tasarlıyorsanız,
       verinin  metin  biçiminde  alınması  istemci  tarafında  daha  az  çaba
       gerektirecektir.

       Bir  örnek  vermek gerekirse, bir sorgunun bir tamsayı değer içeren bir
       sütundan veri döndürmesini istiyorsanız, bir öntanımlı gösterici ile  1
       içeren  bir  dizge  alırken,  bir ikilik gösterici bu değerin 4 baytlık
       alan içeren dahili gösterimini döndürecektir (big-endian -- en kıymetli
       bayt ilk).

       İkilik göstericiler dikkatli kullanılmalıdır. psql dahil çoğu uygulama,
       ikilik göstericileri bilmez ve veriyi metin biçiminde döndürür.

       Bilgi: "Gelişmiş sorgulama" (extended query) protokolünü  kullanan  bir
              istemci   uygulaması,   verilen   bir   FETCH   komutuyla,  Bind
              protokolünün veriyi ikilik biçimde mi yoksa metin  biçiminde  mi
              alacağını belirtir. Bu seçim göstericinin bildirilmesi sırasında
              belli  bir  biçime  zorlanabilir.   Gelişmiş   sorgu   protokolü
              kullanarak  bir  ikilik  gösterici  alınabileceğini  ummak,   bu
              nedenle atıldır; her gösterici metin ya  da  ikilik  olarak  ele
              alınabilir.

PARAMETRELER

       isim   Oluşturulacak göstericinin ismi.

       BINARY Göstericinin   metin  değil  ikilik  biçimde  veri  döndürmesini
              sağlar.

       INSENSITIVE
              Göstericiden  alınan  verinin,  gösterici  etkinken,  soruladığı
              tablolardaki    güncellemelerden   etkilenmeyeceğini   belirtir.
              PostgreSQL'de tüm göstericiler böyledir ve  bu  sözcük  şimdilik
              etkisizdir, sadece SQL standardıyla uyum için vardır.

       SCROLL, NO SCROLL
              Göstericinin  satırları  sıralı  olmayan  biçimde döndürmek için
              kullanılabileceğini belirtmek için kullanılır.  SCROLL deyiminin
              belirtilmesi,   sorgunun  çalıştırılma  planının  karmaşıklığına
              bağlı olarak, sorgunun çalışması  sırasında  bir  başarım  kaybı
              oluşturabilir.  NO  SCROLL  ise,  göstericinin  satırları sıralı
              olmayan biçimde döndürmek için kullanılamayacağını belirtir.

       WITH HOLD, WITHOUT HOLD
              WITH HOLD, göstericinin oluşturulduğu hareketin tamamlanmasından
              sonra  kullanılmaya devam edilebileceğini belirtir. WITHOUT HOLD
              ise     göstericinin     oluşturulduğu      hareket      dışında
              kullanılamayacağını  belirtir.  Ne  WITHOUT HOLD ne de WITH HOLD
              belirtilmişse, WITHOUT HOLD öntanımlıdır.

       sorgu  Gösterici tarafından döndürülecek satırları üretecek bir  SELECT
              cümlesi.  Geçerli  sorgular  hakkında  bilgi edinmek için SELECT
              [select(7)] kılavuz sayfasına bakınız.

       FOR READ ONLY, FOR UPDATE
              FOR READ ONLY göstericinin  salt  okunur  kipte  kullanılacağını
              belirtir.  FOR  UPDATE  ise göstericinin tabloları güncellemekte
              kullanılacağını belirtir. Gösterici güncellemeleri PostgreSQL'de
              desteklenmediğinden,  FOR  UPDATE  kullanımı  bir hata iletisine
              sebep  olacak,  FOR  READ  ONLY   deyiminin   ise   bir   etkisi
              olmayacaktır.

       stun  Gösterici    tarafından    güncellenecek   sütunlar.   Gösterici
              güncellemeleri  PostgreSQL'de  desteklenmediğinden,  FOR  UPDATE
              kullanımı bir hata iletisine sebep olur.

       BINARY,   INSENSITIVE   ve   SCROLL   sözcükleri  herhangi  bir  sırada
       kullanılabilir.

EK BİLGİ

       WITH HOLD belirtilmedikçe, bu cümle ile oluşturulan gösterici sadece  o
       anki  hareketin  içinde kullanılmış olabilir. Bu nedenle, WITH HOLD'suz
       DECLARE  bir  hareket  kümesinin  dışında  kullanışsız   olduğu   gibi,
       kullanıldığı  takdirde  PostgreSQL  bir  hata  iletisi üretecektir. Bir
       hareket kümesini tanımlamak için BEGIN [begin(7)],  COMMIT  [commit(7)]
       ve ROLLBACK [rollback(7)] kullanılır.

       Eğer  WITH  HOLD  belirtilmiş  ve  göstericinin  oluşturulduğu  hareket
       baaşarıyla tamamlanmışsa,  bu  gösterici  aynı  oturumun  daha  sonraki
       hareketleri tarafından erişilebilir olacaktır. (Fakat hareket kesintiye
       uğramış ve tamamlanmamışsa, gösterici  iptal  edilir.)  WITH  HOLD  ile
       oluşturulmuş  bir gösterici, doğrudan bir CLOSE komutuyla ya da dolaylı
       olarak oturum  sonunda  kapatılır.  Şimdiki  gerçeklenimde,  böyle  bir
       gösterici  tarafından  sunulan  satırlar  ya  geçici  bir dosyaya ya da
       belleğe  kopyalanarak  daha  sonraki  hareketler  için   kullanılabilir
       kalması sağlanır.

       Bir  gösterici satırların geri yönde  çekilmesi için kullanılacaksa, bu
       gösterici  bildirilirken  SCROLL  seçeneği  belirtilmelidir.   Bu   SQL
       standardının  gereğidir.  Ancak, önceki sürümlerle uyumluluk için, eğer
       göstericinin sorgusu desteklenmek için ek  bir  masraf  gerektirmeyecek
       kadar  basitse, PostgreSQL SCROLL olmaksızın geriye doğru satır çekmeye
       izin verecektir. Yine  de,  uygulama  geliştiriciler  önerimiz,  SCROLL
       belirtmeden  oluşturulmuş göstericilere, geriye doğru satır çekimi için
       güvenmemeleri olacaktır. Eğer, NO SCROLL belirtilmişse  hiçbir  durumda
       geri yönde satır çekmeye izin verilmeyecektir.

       SQL  standardı  sadece  gömülü SQLde göstericiler için hükümler içerir.
       PostgreSQL sunucusu göstericiler için bir OPEN deyimi gerçeklemez;  bir
       gösterici  bildirildiği  andan  itibaren  açık  kabul  edilir. Yine de,
       PostgreSQL'in  gömülü  SQL  önişlemcisi  olan  ECPG,  DECLARE  ve  OPEN
       deyimlerini de içererek, standart SQL uzlaşımlarını destekler.

ÖRNEKLER

       Bir göstericiyi bildirmek için:

           DECLARE liahona CURSOR FOR SELECT * FROM films;

       Gösterici  kullanımı  ile ilgili daha fazla örnek için FETCH [fetch(7)]
       kılavuz sayfasına bakınız.

UYUMLULUK

       SQL standardı sadece gömülü SQL'de  ve  modüllerde  göstericilere  izin
       verir.  PostgreSQL  ise,  göstericilerin etkileşimli olarak kullanımına
       izin verir.

       SQL  standardı   göstericilerin   tablo   verisini   güncellemek   için
       kullanımına  izin  verir.  PostgreSQL  göstericilerinin  ise hepsi salt
       okunurdur.

       İkilik göstericiler bir PostgreSQL oluşumudur.

İLGİLİ BELGELER

       CLOSE [close(7)], FETCH [fetch(7)], MOVE [move(7)].

ÇEVİREN

       Nilgün Belma Bugüner <nilgun (at) belgeler·gen·tr>, Nisan 2005