Provided by: manpages-tr_1.0.5.1-2_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 sütun [, ...] ] } ]

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.

       sütun  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