From: | Mustafa Yörükoğlu <Mustafa(at)Yorukoglu(dot)name(dot)tr> |
---|---|
To: | PostgreSQL Türkiye -Genel <pgsql-tr-genel(at)PostgreSQL(dot)org> |
Subject: | Fonksiyon içinde "temporary table", "execute" into sorunu |
Date: | 2006-04-03 17:25:12 |
Message-ID: | 44315A78.4010504@Yorukoglu.name.tr |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-tr-genel |
Selamlar,
Bir fonknsiyon içinde temporary bir tablo oluşturup bu tablonun içini
bazı hesaplarla doldurup, parametre ile belirttiğim uygun bir değerini
geriye döndürme çabasındayım;
Bu amacıma ulaşmak için güzelce fonksiyonumu yazdım. Fonksiyonu bir kere
çağırdığımda herşey mükemmel. Ancak bir alana bağlı olarak çağırdığımda
http://www.postgresql.org/docs/faqs.FAQ.html#item4.19 ile belirtilen
hata mesajını aldım. (fonksiyonum volatile) Çözüm tavsiyesini uyguladım
ve fonksiyon içindeki bütün sorgularımı execute ile çalıştırabileceğim
yapıya soktum. Ancak bu sefer;
execute sorgu into sonuc;
satırlarında hatalar alıyorum. Hatanın burada olduğunu EMS Postgresql
Manager ile fonksiyonu debug ederek tespit edebildim. Fonksiyonu normal
bir sorguda kullandığımda: "ERROR: current transaction is aborted,
commands ignored until end of transaction block" hatası alıyorum.
Nedeni hakkında fikri olan var mı?
Teşekkürler,
Mustafa Yörükoğlu
_Örnek Kullanım:_
declare sonuc numeric;
declare sorgu varchar;
begin
..
sorgu:='select diff from xtable where id='||$1;
execute sorgu into sonuc;
..
end;
From | Date | Subject | |
---|---|---|---|
Next Message | Volkan YAZICI | 2006-04-03 17:52:58 | Re: Fonksiyon içind |
Previous Message | Mustafa Yörükoğlu | 2006-03-29 13:06:44 | Re: [pgsql-tr-genel] Re: [pgsql-tr-genel] Re: [pgsql-tr-genel] Re: [pgsql-tr-genel] Kayıt sayısını da döndürmek |