如何在PostgreSQL select语句中引发错误?

时间:2019-06-14 09:18:03

标签: sql postgresql

我需要创建一个数据修补脚本,当发生某种情况时,我想回滚事务。

我可以在脚本结尾处执行以下操作:

select t.id / 0
from some_table t
where t.state = 'undersirable state'

但是我宁愿有一个比“除以零”更合适的错误消息。

是否存在用于在PostgreSQL中生成错误的通用函数?如果可能的话,我想在没有PL / SQL的情况下进行操作。

1 个答案:

答案 0 :(得分:2)

编写一个为您引发错误的小函数,并在您的SELECT语句中使用它。

CREATE FUNCTION raise_error() RETURNS integer
   LANGUAGE plpgsql AS
$$BEGIN
   RAISE EXCEPTION /* whatever you want */;
   RETURN 42;
END;$$;