Selamlar Cem Bey,
PostgreSQL'de class_mapping_tab şeklinde Oracle'e daki gibi yeni bir veritipi yaratmaya gerek yok. class_mapping'i doğrudan bir dizi olarak kullanabilirsiniz. Fonksiyon içerisindeki örnek bir kullanım aşağıdaki gibi olabilir.
CREATE TYPE class_mapping AS
(id bigint,
klasse bigint,
text character varying(500)
);
create or replace function set_c_arr() returns class_mapping[] as
$$
DECLARE
c_arr class_mapping[];
BEGIN
FOR I IN 1..10 LOOP
c_arr[I] := ROW(I,I*10,'Test verisi');
END LOOP;
RETURN c_arr;
END;
$$
language plpgsql;
select * from unnest(set_c_arr());
Yukarıdaki select sorgusunun çıktısı aşağıdaki gibi olacaktır.
İyi çalışmalar.
Samed YILDIRIM
29.12.2016, 12:42, "Cem Kücük" <bcemkucuk@gmail.com>:
Selam arkadaslar,
asagidaki oracle dan migrate edilmis iki custom tip var.. oracle
--------------create or replace
TYPE CLASS_MAPPING_TAB IS TABLE OF class_mapping;
create or replace
TYPE CLASS_MAPPING IS OBJECT (
ID NUMBER,
klasse NUMBER,
text VARCHAR2 (500 CHAR)
);
postgres:
--------------------------
TYPE class_mapping_tab AS
class_mapping_tab class_mapping[];
TYPE CLASS_MAPPING IS OBJECT (
ID NUMBER,
klasse NUMBER,
text VARCHAR2 (500 CHAR)
);
Sizce bu ne kadar dogru bir konvert ?
class_mapping_tab nasil set edebilirim ?
asagidaki gibi olmadi
..
tmpval RECORD;
retval class_mapping_tab;
retval := array[ ROW(tmpval.ID, tmpval.klasse, tmpval.text) :: class_mapping)];
..
saygilar,
kuecuek