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

So geben Sie das Ergebnis der temporären Tabelle in der Postgresql-Funktion zurück

Innerhalb Ihrer main_function():

RETURN QUERY SELECT * FROM temp_t;

...wenn die temp_t-Tabelle aus z.B. Spalte1 (Typ Integer), Spalte2 (boolean) und Spalte3 (varchar(100)), sollten Sie auch den zurückgegebenen Typ definieren als:

CREATE OR REPLACE FUNCTION main_function(column1 OUT integer, column2 OUT boolean, column3 OUT varchar(100)) RETURNS SETOF record AS
(...)

Eine andere Möglichkeit besteht darin, einen neuen Datentyp zu definieren:

CREATE TYPE temp_t_type AS (
    column1 integer,
    column2 boolean,
    column3 varchar(100)
);

Dieser Typ kann von Ihren Funktionen genauso zurückgegeben werden wie normale Datentypen:

CREATE OR REPLACE FUNCTION main_function() RETURNS SETOF temp_t_type AS
(...)

...und das Ergebnis der Funktion auf die gleiche Weise wie oben beschrieben zurückgeben.