sql >> Database >  >> RDS >> PostgreSQL

Terugkeren van een functie met OUT-parameter

Het zou als volgt werken:

CREATE OR REPLACE FUNCTION name_function(param_1 varchar
                                   , OUT param_2 bigint)
  LANGUAGE plpgsql AS
$func$
BEGIN
    INSERT INTO table (collumn_seq, param_1)  -- "param_1" also the column name?
    VALUES (DEFAULT, param_1)
    RETURNING collumn_seq
    INTO param2;
END
$func$;

Normaal gesproken zou je een RETURN . toevoegen statement, maar met OUT parameters, dit is optioneel.
Raadpleeg de handleiding voor meer details:

  • Terugkerend van een functie
  • Een query uitvoeren met een resultaat van één rij

Het eenvoudige geval kan worden afgedekt met een eenvoudige SQL-functie.
En u kunt de doelkolom weglaten die zijn DEFAULT krijgt. waarde.
En je kunt net zo goed een RETURNS . gebruiken clausule in dit geval:

CREATE OR REPLACE FUNCTION name_function(param_1 varchar)
  RETURNS bigint
  LANGUAGE sql AS
$func$
INSERT INTO table (param_1)  -- "param_1" also the column name?
VALUES (param_1)
RETURNING collumn_seq;
$func$;



  1. PostGIS in actie

  2. Gebruik FILE_NAME() om de logische bestandsnaam te retourneren voor een gegeven bestands-ID in SQL Server

  3. Hoe de datum te selecteren in de datetime-kolom?

  4. Een tabel maken in MySQL