这是用于注册的函数,但是当使用此函数时,输入的数据不会进入数据库,如果输入的新数据无法输入查询插入,则查询将一直只读,直到“用户名已存在” >
DECLARE
headers JSONB;
body JSONB;
var_username VARCHAR;
var_password VARCHAR;
var_full_name VARCHAR;
var_email VARCHAR;
var_company VARCHAR;
var_id BIGINT;
BEGIN
headers = request->'headers';
body = request->'body';
var_username = body->>'username';
var_password = body->>'password';
var_full_name = body->>'full_name';
var_email = body->>'email';
var_company = body->>'company';
IF EXISTS(SELECT id FROM sso.users WHERE username = var_username) THEN
RETURN jsonb_build_object(
'success' , false,
'message', 'Username already exists'
);
END IF;
INSERT INTO sso.users(username, email, password, full_name, company)
VALUES (var_username, var_email, var_password, var_full_name, var_company)
RETURNING id INTO var_id;
RETURN(
'success', true,
'token', var_id::varchar
);
END;