gpt4 book ai didi

postgresql - 在 postgres 中触发不引发异常

转载 作者:行者123 更新时间:2023-11-29 12:27:10 25 4
gpt4 key购买 nike

我有一个在 postgres 中工作的触发器,它允许 View 变得可更新。

CREATE OR REPLACE FUNCTION actualizaIDConductor() RETURNS 
TRIGGER AS '
BEGIN
RAISE NOTICE ''Working'';

SELECT COUNT(*) INTO bool
FROM Infotrenes
WHERE cod_empleado = OLD.cod_empleado;

RAISE NOTICE ''bool = %'', bool;

--The id belongs to the view
IF (bool > 0) THEN
UPDATE ...; --This works fine
ELSE
RAISE EXCEPTION ''ERROR: ...'';
END IF;

RETURN NEW;
END;
' LANGUAGE 'plpgsql';

当我想更新不属于 View 的行时,“问题”就来了。而不是打印我的“错误:...”消息,它只显示更新 0。它甚至不显示“工作”通知。

这是某种管理器优化还是我做错了什么?我能以某种方式打印消息吗?

最佳答案

此代码不应该工作 - 有未声明的变量 bool(次要 - 由于相同的命名数据类型,它是错误的名称)。所以这段代码不应该永远工作,也不应该发出“正在工作”的通知。

关于postgresql - 在 postgres 中触发不引发异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27878315/

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