Das würde so funktionieren:
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$;
Normalerweise würden Sie ein RETURN
hinzufügen -Anweisung, aber mit OUT
Parameter, dies ist optional.
Weitere Details finden Sie im Handbuch:
- Rückkehr von einer Funktion
- Ausführen einer Abfrage mit einem einzeiligen Ergebnis
Der einfache Fall kann mit einer einfachen SQL-Funktion abgedeckt werden.
Und Sie können die Zielspalte weglassen, die ihren DEFAULT
erhalten soll Wert.
Und Sie können genauso gut einen RETURNS
verwenden Klausel in diesem Fall:
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$;