sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur man returnerar temp-tabellresultat i postgresql-funktionen

Inuti din main_function():

RETURN QUERY SELECT * FROM temp_t;

...om temp_t-tabellen består av t.ex. kolumn1 (typ heltal), kolumn2 (boolean) och kolumn3 (varchar(100)), bör du också definiera returnerad typ som:

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

Ett annat sätt är att definiera ny datatyp:

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

Den typen kan returneras av dina funktioner på samma sätt som vanliga datatyper:

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

...och returnera resultat från funktionen på samma sätt som nämnts ovan.



  1. Jag får ett Ett försök gjordes att ladda ett program med ett felaktigt formatfel på ett SQL Server-replikeringsprojekt

  2. 4 sätt att hitta rader som innehåller små bokstäver i Oracle

  3. Hur frågar man flera liknande databaser med Peewee?

  4. Hitta dubbletter av värden som tilldelats mer än ett unikt värde