Cela fonctionnerait comme ceci :
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$;
Normalement, vous ajouteriez un RETURN
instruction, mais avec OUT
paramètres, ceci est facultatif.
Reportez-vous au manuel pour plus de détails :
- Revenir d'une fonction
- Exécuter une requête avec un résultat sur une seule ligne
Le cas simple peut être couvert par une fonction SQL simple.
Et vous pouvez omettre la colonne cible qui recevra son DEFAULT
value.
Et vous pouvez tout aussi bien utiliser un RETURNS
clause dans ce cas :
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$;