Derby 错误 54038:超出嵌套触发器的最大深度
Derby ERROR 54038: Maximum depth of nested triggers was exceeded
如果 owner_id 为 null,我试图在更新或插入 owner_notif_sta 后触发将 owner_notif_sta 设置为 null 的触发器。 owner_id 和 owner_notif_sta 都来自同一个 table.
触发器:
CREATE TRIGGER check_owner
AFTER UPDATE OF owner_notif_sta ON risk
REFERENCING OLD AS EXISTING
FOR EACH ROW MODE DB2SQL
UPDATE risk SET owner_notif_sta = NULL
WHERE owner_id IS NULL;
我尝试触发的更新:
UPDATE RISK SET owner_notif_sta = 'helloo' WHERE risk_id = 'ICT123';
和 owner_id 为空(我启动更新时未填充)
我收到以下错误:
错误 54038:超出嵌套触发器的最大深度。
提前致谢
如何稍微更改 UPDATE
语句以排除已经将 owner_notif_sta
设为空的行:
CREATE TRIGGER check_owner
AFTER UPDATE OF owner_notif_sta ON risk
REFERENCING OLD AS EXISTING
FOR EACH ROW MODE DB2SQL
UPDATE risk
SET owner_notif_sta = NULL
WHERE owner_id IS NULL
AND owner_notif_sta IS NOT NULL;
如果 owner_id 为 null,我试图在更新或插入 owner_notif_sta 后触发将 owner_notif_sta 设置为 null 的触发器。 owner_id 和 owner_notif_sta 都来自同一个 table.
触发器:
CREATE TRIGGER check_owner
AFTER UPDATE OF owner_notif_sta ON risk
REFERENCING OLD AS EXISTING
FOR EACH ROW MODE DB2SQL
UPDATE risk SET owner_notif_sta = NULL
WHERE owner_id IS NULL;
我尝试触发的更新:
UPDATE RISK SET owner_notif_sta = 'helloo' WHERE risk_id = 'ICT123';
和 owner_id 为空(我启动更新时未填充)
我收到以下错误: 错误 54038:超出嵌套触发器的最大深度。
提前致谢
如何稍微更改 UPDATE
语句以排除已经将 owner_notif_sta
设为空的行:
CREATE TRIGGER check_owner
AFTER UPDATE OF owner_notif_sta ON risk
REFERENCING OLD AS EXISTING
FOR EACH ROW MODE DB2SQL
UPDATE risk
SET owner_notif_sta = NULL
WHERE owner_id IS NULL
AND owner_notif_sta IS NOT NULL;