RECORD als Tabelle

Hallo,

ich habe ein ganz seltsames Oracle Package, das ich jetzt versuche in eine PostgreSQL Funktion umzuschreiben:

CREATE OR REPLACE PACKAGE  "PACKAGE_NAME" AS
 PROCEDURE "PACKAGE_PROCEDURE1";
 PROCEDURE "PACKAGE_PROCEDURE2";
[...]
END PACKAGE_NAME;
/
CREATE OR REPLACE PACKAGE BODY  "PACKAGE_NAME" AS

TYPE t_change_rec IS RECORD (
  id      NUMBER
);

TYPE t_change_tab IS TABLE OF t_change_rec;
g_change_tab  t_change_tab := t_change_tab();

PROCEDURE "PACKAGE_PROCEDURE1" IS
  CURSOR cursor1 IS SELECT ID FROM TABLE_NAME WHERE DATE_SPALTE > CURRENT_DATE - 4;
BEGIN
  FOR entry IN cursor1 
  LOOP
    g_change_tab.extend;
    g_change_tab(g_change_tab.last).id := entry.ID;
  END LOOP;
  PACKAGE_PROCEDURE2;
END "PACKAGE_PROCEDURE1";
[...]
END PACKAGE_NAME;

Die Prozedur in diesem Package sammelt alle IDs in eine Record-Tabelle.
Wie kriege ich jetzt in einer Funktion in PostgreSQL eine Tabelle mit Records?

Ich hoffe, ihr könnt mir helfen.

lg
Lara

Am besten machst Du eine set returning function daraus. Dort wo die Record Tabelle verwendet wird, machst Du später einfach ein

SELECT * FROM record_function()

Ob das funktioniert hängt natürlich davon ab, wie diese Record Tabelle verwendet wird.