sql >> Database teknologi >  >> RDS >> PostgreSQL

Returnerer flere værdier i en funktion

Du er over at komplicere tingene. Da du ønsker at returnere flere værdier, skal du definere funktionen som returns table eller returns setof . Jeg foretrækker returns table fordi det også lader dig definere kolonnenavnene for resultatet.

Du behøver heller ikke PL/pgSQL til dette, en almindelig SQL-funktion med en UPDATE udsagn er nok:

CREATE OR REPLACE FUNCTION assign_task(IN worker text)
  returns table (id bigint)
as
$BODY$
 UPDATE queue
  SET status = 'In progress', worker = $1
  WHERE status = 'New'
  RETURNING queueid;
$BODY$
LANGUAGE sql VOLATILE;



  1. MySQL:Indlæser flere filer i en tabel

  2. PostgREST / PostgreSQL Kan ikke forstørre strengbuffermeddelelse

  3. Konvertering af epokenummer til menneskelig læsbar dato i mysql

  4. Kan du ikke starte postgresql.service?