Merhabalar,
 
Tabloların (tbl_detay ve tbl_std_yer) kolon yapılarını (create cümlecikleri de olur), birkaç satırlık örnek veri ve kullandığınız PostgreSQL versiyonunu da ekler misiniz.
 
İyi çalışmalar.
Samed YILDIRIM
 
 
 
27.11.2018, 19:56, "Java Notlarım" <javanotlarim@gmail.com>:
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$;