提问人:Rory L. 提问时间:6/10/2021 最后编辑:Rory L. 更新时间:6/10/2021 访问量:32
PSQL 存储过程 IF 语句语法错误 (v13.2)
PSQL Stored Procedure IF Statement Syntax Error (v13.2)
问:
TLDR:在“IF”处出现语法错误
我正在尝试创建一个存储过程,用于在尝试插入之前检查唯一display_name,并且在尝试在 PowerShell 中通过 PSQL 创建时,我在“IF”处出现语法错误。我已经阅读了官方文档,查看了多个教程,并查看了此处(StackOverflow)。知道问题是什么吗?
FWIW:我最熟悉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;
$$;
答: 暂无答案
评论
IF
language plpgsql
LANGUAGE plpgsql
BEGIN ... END