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
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 |