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