TLDR: Getting a SYNTAX ERROR at 'IF'
I'm trying to create a stored procedure that checks for unique display_name before attempting an insert and I'm getting a syntax error at 'IF' when trying to create via PSQL in PowerShell. I've read the official documentation, checked multiple tutorials, and looked on here (StackOverflow). Any idea what the issue is?
FWIW: I am most familiar with MariaDB.
CREATE PROCEDURE sp_create_user (
a_username VARCHAR(255)
,a_password VARCHAR(200)
,a_display_name VARCHAR(20)
)
LANGUAGE SQL
AS $$
IF EXISTS(SELECT id FROM users WHERE display_name = a_display_name) THEN
raise exception 'duplicate display_name: %', a_display_name using hint = 'enter a different display_name';
END IF;
INSERT INTO users (username, password, display_name)
VALUES (a_username, a_password, a_display_name)
RETURNING id, username, display_name;
$$;
Aucun commentaire:
Enregistrer un commentaire