Ini akan bekerja seperti ini:
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$;
Biasanya, Anda akan menambahkan RETURN pernyataan, tetapi dengan OUT parameter, ini opsional.
Lihat manual untuk detail lebih lanjut:
- Kembali dari suatu fungsi
- Mengeksekusi Query dengan Hasil Satu Baris
Kasus sederhana dapat ditutupi dengan fungsi SQL biasa.
Dan Anda dapat menghilangkan kolom target yang akan mendapatkan DEFAULT value.
Dan Anda juga bisa menggunakan RETURNS klausa dalam hal ini:
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$;