Re: pgsql ile select

From: "Adnan DURSUN" <a_dursun(at)hotmail(dot)com>
To: "Mehmet Uysal" <mehmath(at)gmail(dot)com>, "Volkan YAZICI" <yazicivo(at)ttnet(dot)net(dot)tr>
Cc: <pgsql-tr-genel(at)postgresql(dot)org>
Subject: Re: pgsql ile select
Date: 2006-03-28 19:46:31
Message-ID: BAY106-DAV6DDA51BFAF60564E8164DFAD30@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-tr-genel


Merhaba,

Mehmet Bey, belki atlanmış diye yazıyorum. Satır döndüren fonksiyonları PL/PgSQL dili ile yazmak yerine SQL dilini kullansanız. Bir Örnek :

CREATE OR REPLACE FUNCTION fn_get_rows(arg1,arg2,...)
RETURNS SETOF record AS
$BODY$
SELECT ADI,SOYADI,SICILI
FROM PERSONEL
WHERE KOD1 = ARG1
AND KOD2 = ARG2;
$BODY$
LANGUAGE 'sql' STABLE;

Kullanımı :

SELECT * FROM fn_get_rows(arg1,arg2);

Adnan DURSUN
ASRIN Bilişim Ltd.
----- Original Message -----
From: Mehmet Uysal
To: Volkan YAZICI
Cc: pgsql-tr-genel(at)postgresql(dot)org
Sent: Tuesday, March 28, 2006 9:55 PM
Subject: Re: [pgsql-tr-genel] pgsql ile select

> Listeye daha üç gün önce bir tane örnek kod parçası göndermiştim:
gönderdiğiniz kodu incelemiştim ancak

> function() fonksiyonunun SELECT sütunları içinde kullanımı PL/pgSQL
> tarafından henüz desteklenmemekte. Ama diğer bazı prosedürel diller
> kullanılarak - örneğin C - bu tür fonksiyonlar rahatlıkla
> geliştirebilir.
problemimim cevabı buydu.

> Bunu PL/pgSQL kullanarak başaramazsınız. Bunun yerine PL/pgSQL
> kullanarak satır döndüren fonksiyonlarda şunu yapabilirsiniz:
>
> SELECT * FROM function();

böyle bir kullanım için. return tipini ne yapmam gerekiyor ?, select * from function(); kullanımında hata ile kaşılaşıyorum.

CREATE OR REPLACE FUNCTION public.liste ()
RETURNS record AS
DECLARE
r record;
sqlifadem text := 'SELECT * FROM kategori';
BEGIN
EXECUTE sqlifadem INTO r;
RETURN r;
END;
LANGUAGE 'plpgsql' VOLATILE;

asd=# select liste();
liste
---------------------------------------
(0,,,,,,1,"2006-03-14 15:12:39.703",)
(1 row)

asd=# select * from liste();
ERROR: a column definition list is required for functions returning "record"

> function() fonksiyonunun SELECT sütunları içinde kullanımı PL/pgSQL
> tarafından henüz desteklenmemekte. Ama diğer bazı prosedürel diller
> kullanılarak - örneğin C - bu tür fonksiyonlar rahatlıkla
> geliştirebilir.

C prosedürel dili geliştiriğimde php ile kullanımamızın herhangi bir sakıncası var mı ?
yada daha önce Devrim Bey pl/php yi kullanabileceğimizi söylemişti. Ancak kullandıgımız server dedicated olmadıgı taktirde kurulumu problem çıkartabilir diye düşünüyorum. pl/pgsql daha kendini kabul ettiren bi dil oldugu için bunu seçtik.
php ile hangi prosedürel dilleri kullanabiliriz ?

Çok teşekür ederim.
Kolay gelsin

In response to

Responses

Browse pgsql-tr-genel by date

  From Date Subject
Next Message Volkan YAZICI 2006-03-28 20:18:21 Re: pgsql ile select
Previous Message Volkan YAZICI 2006-03-28 19:25:26 Re: pgsql ile select