我可以更改在PostgreSQL中为重复键抛出的错误消息吗?

时间:2019-05-27 10:16:57

标签: database postgresql constraints

我有一个存储过程,它基本上会插入到表中。当主键重复时,它会抛出

pm.environment.set("requestBody", JSON.stringify([client, address]));

我在代码中捕获并显示在UI中的错误。

无论如何,我是否可以将此错误内容修改为自定义的内容?我知道我可以使用触发器和duplicate key value violates unique constraint 自定义消息。我只想知道是否还有其他选择。

1 个答案:

答案 0 :(得分:0)

我要编写一个插入行的函数。如果表名为mytab

CREATE FUNCTION insert_mytab(p_row mytab) RETURNS void
   LANGUAGE plpgsql AS
$$BEGIN
   INSERT INTO mytab SELECT (p_row).*;
EXCEPTION
   WHEN unique_violation THEN
      RAISE EXCEPTION 'don''t tickle me';
END;$$;

我认为没有根本不同的方式。