From: | "N(dot) Can KIRIK" <n(dot)can(dot)kirik(at)gmail(dot)com> |
---|---|
To: | javanotlarim(at)gmail(dot)com |
Cc: | pgsql-tr-genel <pgsql-tr-genel(at)postgresql(dot)org> |
Subject: | Re: record dönüşlü bildirilmiş işlevde return deyimin tipi uyumsuz |
Date: | 2018-11-27 16:58:47 |
Message-ID: | CAJ1wP5m=1Aaaw_0OvTP6nGurwGSjECbR7uYdD0X5pd8EQuNqxg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-tr-genel |
merhaba
STRING_AGG metin dönüyor bunun yerine ARRAY_AGG kullanabilirsiniz.
*N. Can KIRIK*
On Tue, Nov 27, 2018 at 7:56 PM Java Notlarım <javanotlarim(at)gmail(dot)com>
wrote:
> Merhaba.
> Tablomda smallint array tipinde bir alanım mevcut. Bu alandaki verileri
> çekerken, smallint değerleri yerine, bu smallint değerlerin string
> karşılıkları ile çekmek için, JOIN kullanarak bir sorgu yazdım. Bu sorgu
> normalde sorunsuz çalışırken, sorguyu function (Stored Procedure) olarak
> yazmaya çalıştığımda
>
> *"ERROR: HATA: record dönüşlü bildirilmiş işlevde return deyimin tipi
> uyumsuz AYRINTI: Son ifade 3 sütununda text[] yerine text döndürüyor."*
> şeklinde bir hata alıyorum. Aldığım hata ile ilgili çözüm öneriniz olursa
> çok memnun olurum.
> Functionum aşağıdaki gibi
>
> CREATE OR REPLACE FUNCTION sp_list_abc(
>>
>> IN sp_master_id integer,
>>
>> OUT sp_id bigint,
>>
>> OUT sp_evrakno text,
>>
>> OUT sp_yer_adi_array text[])
>>
>> RETURNS SETOF record
>>
>> LANGUAGE 'sql'
>>
>>
>
>> COST 100
>>
>> VOLATILE
>>
>>
>>
>> AS $BODY$
>>
>>
>>> select ed.id, ed.evrak_no,STRING_AGG(syer.yer_adi, ', ')
>>
>> from tbl_detay ed
>>
>> LEFT JOIN tbl_std_yer syer on syer.id=ANY(ed.yer_id_array)
>>
>> where ed.master_id=$1
>>
>> GROUP BY ed.id, syer.yer_adi
>>
>>
>>> $BODY$;
>>
>>
From | Date | Subject | |
---|---|---|---|
Next Message | Samed YILDIRIM | 2018-11-27 17:11:16 | Re: record dönüşlü bildirilmiş işlevde return deyimin tipi uyumsuz |
Previous Message | Java Notlarım | 2018-11-27 16:55:56 | record dönüşlü bildirilmiş işlevde return deyimin tipi uyumsuz |