Fungovalo by to takto:
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$;
Normálně byste přidali RETURN
příkaz, ale s OUT
parametry, je to volitelné.
Další podrobnosti naleznete v příručce:
- Návrat z funkce
- Provedení dotazu s výsledkem na jednom řádku
Jednoduchý případ lze pokrýt jednoduchou funkcí SQL.
A můžete vynechat cílový sloupec, který bude mít svůj DEFAULT
value.
A stejně tak můžete použít RETURNS
doložka v tomto případě:
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$;