gpt4 book ai didi

postgresql - postgresql 检查约束的自定义错误消息

转载 作者:行者123 更新时间:2023-11-29 13:35:14 29 4
gpt4 key购买 nike

我的请求表上有“valid_id”检查约束。但是当它违反约束时它会显示以下错误

ERROR: new row for relation "requests" violates check constraint "valid_name" DETAIL: Failing row contains ....

但我不想显示像“无法插入记录。需要名称”这样的消息。

有什么方法可以在 PostgreSQL 中显示自定义错误消息吗?

最佳答案

这里属于高级领域,因为您希望在开始之前非常熟悉 SQL 状态以及现有的错误消息。请注意,您希望根据需要重新使用现有的 sql 状态,以便应用程序不知道您已经覆盖了检查约束。

但您可以做的是创建一个运行检查并在检查失败时发出引发异常 的函数。像这样的东西:

CREATE FUNCTION check_is_not_null(value text, column_name text) RETURNS BOOL 
LANGUAGE plpgsql AS $$
begin
IF $1 IS NULL THEN
RAISE EXCEPTION 'Error: % is required', $2;
END IF;
RETURN TRUE;
END;
$$;

如果您使用的是 8.4 或更高版本,您可以指定一个 SQL 状态。

关于postgresql - postgresql 检查约束的自定义错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14399150/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com