jayarjo Asked: 2020-06-12 22:30:27 +0800 CST2020-06-12 22:30:27 +0800 CST 2020-06-12 22:30:27 +0800 CST 从触发器抛出错误? 772 当触发器返回NULL时,没有插入行,但操作结果仍然报告为成功(INSERT 0 0)。在我看来,这是不合逻辑的,因为人们可能想要妥善处理这个问题。我想知道是否有办法从触发器中抛出实际错误? postgresql trigger 1 个回答 Voted Best Answer CL. 2020-06-13T01:18:06+08:002020-06-13T01:18:06+08:00 如果触发函数是用 PL/pgSQL 编写的,那么您可以使用RAISE引发错误: CREATE FUNCTION my_trigger() RETURNS trigger LANGUAGE plpgsql AS $$ BEGIN IF random() < 0.01 THEN RAISE EXCEPTION 'internal error'; END IF; RETURN NEW; END; $$;
如果触发函数是用 PL/pgSQL 编写的,那么您可以使用RAISE引发错误: