Re: Öneri

From: Volkan YAZICI <yazicivo(at)ttnet(dot)net(dot)tr>
To: Ahmet <corsairsoft(at)gmail(dot)com>
Cc: pgsql-tr-genel(at)postgresql(dot)org
Subject: Re: Öneri
Date: 2006-03-25 16:41:48
Message-ID: 20060325164148.GB483@alamut
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-tr-genel

On Mar 25 04:02, Ahmet wrote:
> procedure ile belirli şartları sağlayan bir tek satır döner.
> birden çok satır istediğinizde zaten kayıt seti hatası verecektir.

Bu yanlış bir bilgiye nereden vardınız bilmiyorum ama kesinlikle böyle
bir şey söz konusu değil. Prosedürler ile de birden fazla satırı çok
rahatlıkla döndürebilirsiniz. Basit bir örnek olması açısından aşağıdaki
kod parçasını göz önüne alabilirsiniz.

BEGIN;

CREATE FUNCTION return_row() RETURNS SETOF integer AS $$
DECLARE
val integer;
BEGIN
FOR val IN SELECT (S.i * 3) AS mycol FROM generate_series(1, 3) AS S(i)
LOOP
RETURN NEXT val;
END LOOP;
END;
$$ LANGUAGE plpgsql STRICT IMMUTABLE;

SELECT * FROM return_row();
-- return_row
-- ------------
-- 3
-- 6
-- 9
-- (3 rows)

ROLLBACK;

> 1 - İşlem gerektiren kısımları procedürler şeklinde tanımlamanız
> 2 - Kayıt çekerken ise view veya select sorguları ile işlem yapmanız.

Bence böyle bir öneride bulunmadan önce dereyi görmenin en doğrusu
olduğu yönünde düşüncem. Aslında yukarıdaki düşüncenin, prosedürler
satır döndüremez fikri ile yola çıkıldığından, baştan yanlış olma
ihtimali çok yüksek. Fakat yine de kimi durumlar için uygulanabilirliği
olabilir.

İyi çalışmalar.

In response to

  • Öneri at 2006-03-25 14:02:31 from Ahmet

Browse pgsql-tr-genel by date

  From Date Subject
Next Message Ahmet 2006-03-25 17:29:27 Öneri
Previous Message Devrim GUNDUZ 2006-03-25 15:16:19 Re: freebsd de postgresql