PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como retornar o resultado da tabela temporária na função postgresql


Dentro do seu main_function():
RETURN QUERY SELECT * FROM temp_t;

...se a tabela temp_t consiste em, por exemplo, column1 (tipo integer), column2 (boolean) e column3 (varchar(100)), você também deve definir o tipo retornado como:
CREATE OR REPLACE FUNCTION main_function(column1 OUT integer, column2 OUT boolean, column3 OUT varchar(100)) RETURNS SETOF record AS
(...)

Outra maneira é definir um novo tipo de dados:
CREATE TYPE temp_t_type AS (
    column1 integer,
    column2 boolean,
    column3 varchar(100)
);

Esse tipo pode ser retornado por suas funções da mesma forma que os tipos de dados normais:
CREATE OR REPLACE FUNCTION main_function() RETURNS SETOF temp_t_type AS
(...)

...e retorne o resultado da função da mesma forma mencionada acima.