注册

after insert触发器执行失败 会影响insert?

葫芦大娃 2024/08/15 397 4

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8
【操作系统】:linux
【CPU】:
【问题描述】*:写了一个表的 after insert触发器,触发器中执行失败,为什么insert的记录也没有啊,不应该是先insert成功然后触发器么,怎么表里没记录呢?

为了提取里面的身份证号,插入到单独的一列中
报错提示:
-2201:无效的数据库对象
line 21
CREATE OR REPLACE TRIGGER XT_QGXJK_DYRZ_NEW_AFTER_INSERT_TRIGGER
AFTER INSERT ON CRJDATA.XT_QGXJK_DYRZ_NEW
FOR EACH ROW
BEGIN
UPDATE XT_QGXJK_DYRZ_NEW
SET sfzh = (CASE
WHEN json_value(:NEW.INTERFACE_CONDITION, '$.params.sfzh') IS NOT NULL THEN json_value(:NEW.INTERFACE_CONDITION, '$.params.sfzh')
WHEN json_value(:NEW.INTERFACE_CONDITION, '$.sfzhm') IS NOT NULL THEN json_value(:NEW.INTERFACE_CONDITION, '$.sfzhm')
WHEN json_value(:NEW.INTERFACE_CONDITION, '$.params.personId') IS NOT NULL THEN json_value(:NEW.INTERFACE_CONDITION, '$.params.personId')
WHEN json_value('{"first":'||REPLACE(:NEW.INTERFACE_CONDITION,'}{','},"second":{')||'}', '$.first.idNO') IS NOT NULL THEN json_value('{"first":'||REPLACE(:NEW.INTERFACE_CONDITION,'}{','},"second":{')||'}', '$.first.idNO')
WHEN json_value('{"first":'||REPLACE(:NEW.INTERFACE_CONDITION,'}{','},"second":{')||'}', '$.first.sfzh') IS NOT NULL THEN json_value('{"first":'||REPLACE(:NEW.INTERFACE_CONDITION,'}{','},"second":{')||'}', '$.first.sfzh')
ELSE '1111111111111111111111111111111'
END)
WHERE ID = :NEW.ID;
END;

回答 0
暂无回答
扫一扫
联系客服