PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie rufe ich die Postgres-Funktion auf, die einen SETOF-Eintrag zurückgibt?

Ihre Funktion ergibt keinen Sinn, sie gibt nichts zurück. Es sieht aus wie eine ANSICHT, warum erstellen Sie also keine Ansicht?

Bearbeiten:Sie müssen die OUT-Parameter oder RETURN TABLE() mit den Parametern verwenden:

CREATE OR REPLACE FUNCTION my_func(OUT o_id INT, OUT o_bar TEXT) 
RETURNS SETOF RECORD AS
$$
BEGIN
    RETURN QUERY SELECT id, bar FROM foo;
END;
$$
LANGUAGE plpgsql;


SELECT  * FROM my_func();