sql >> Databáze >  >> RDS >> PostgreSQL

Jak vrátit výsledek dočasné tabulky ve funkci postgresql

Uvnitř vaší main_function():

RETURN QUERY SELECT * FROM temp_t;

...pokud se tabulka temp_t skládá např. column1 (type integer), column2 (boolean) a column3 (varchar(100)), měli byste také definovat vrácený typ jako:

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

Dalším způsobem je definovat nový datový typ:

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

Tento typ mohou být vráceny vašimi funkcemi stejným způsobem jako normální datové typy:

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

...a vrátí výsledek z funkce stejným způsobem, jak je uvedeno výše.



  1. Mysql Najít chybějící rozsahy dat

  2. PHP Calculate Number of downline v binárním stromu

  3. Kdy mám zavřít kurzor a db?

  4. Opravdu musím použít SET XACT_ABORT ON?