35 lines
762 B
PL/PgSQL
35 lines
762 B
PL/PgSQL
CREATE OR REPLACE FUNCTION nn_db.user_post(
|
|
in_lastname nn_db.user.lastname%TYPE
|
|
, in_firstname nn_db.user.firstname%TYPE
|
|
, in_middlename nn_db.user.middlename%TYPE
|
|
, in_username nn_db.user.username%TYPE
|
|
, in_password_hash nn_db.user.password_hash%TYPE
|
|
, in_email nn_db.user.email%TYPE
|
|
, in_phone nn_db.user.phone%TYPE)
|
|
RETURNS TABLE(pk_user nn_db.user.pk_user%TYPE)
|
|
AS $$
|
|
BEGIN
|
|
INSERT INTO nn_db.user(
|
|
lastname
|
|
, firstname
|
|
, middlename
|
|
, username
|
|
, password_hash
|
|
, email
|
|
, phone
|
|
, is_admin
|
|
, is_active)
|
|
VALUES(
|
|
in_lastname
|
|
, in_firstname
|
|
, in_middlename
|
|
, in_username
|
|
, in_password_hash
|
|
, in_email
|
|
, in_phone
|
|
, False
|
|
, False);
|
|
|
|
RETURN QUERY SELECT MAX(nn_db.user.pk_user) FROM nn_db.user;
|
|
END;
|
|
$$ LANGUAGE plpgsql |