PostgreSQL 如何使用标准错误代码和错误消息



我想使用标准的ERROR消息和PostgreSQL的代码。
现在,我可以实现我的目标,但我想知道我可以使用的最佳方式。
这是我目前在数据库中的函数。

CREATE OR REPLACE FUNCTION Dugong.Forget_Passwd_Add(
       in_Username varchar(255),
       in_randomURLs text
)
RETURNS void AS $$
BEGIN
        IF (SELECT Dugong.Users_isExist(in_Username)) THEN
        INSERT INTO dugong.Forget_Passwd (Username, randomURLs, used)
        VALUES (in_Username, in_randomURLs, FALSE);
        ELSE
                RAISE EXCEPTION USING ERRCODE = '20000', MESSAGE = 'Username not found';
        END IF;
END;
$$ LANGUAGE PLPGSQL;

pg模块的Node Express将使用client.query().
client.query()有回调errresult
以我为例。我可以使用err.messageerr.code分别获取错误消息和错误代码。
问题:
我希望我的代码能够从数据库端RAISE任何错误,而不仅仅是限制我的特定错误代码。
我该怎么做?

您可以使用

raise来引发自定义和标准异常。

通过其代码引用标准异常:

raise sqlstate '22012';

或按名称:

raise division_by_zero;

以下是定义的错误代码和名称的列表;有关raise的详细信息:"错误和消息"。

相关内容

最新更新