我需要创建一个数据修补脚本,当发生某种情况时,我想回滚事务。
我可以在脚本结尾处执行以下操作:
select t.id / 0
from some_table t
where t.state = 'undersirable state'
但是我宁愿有一个比“除以零”更合适的错误消息。
是否存在用于在PostgreSQL中生成错误的通用函数?如果可能的话,我想在没有PL / SQL的情况下进行操作。
答案 0 :(得分:2)
编写一个为您引发错误的小函数,并在您的SELECT
语句中使用它。
CREATE FUNCTION raise_error() RETURNS integer
LANGUAGE plpgsql AS
$$BEGIN
RAISE EXCEPTION /* whatever you want */;
RETURN 42;
END;$$;