如何在完成数据插入表后触发触发器
我有一个table A
插入数据。然后一些计算正在更新相同的table A
。如何在完成数据插入表后触发触发器
我想触发一个触发器,在完成数据插入(插入和更新后)后调用Procedure A
。
我该怎么做?
是否有任何其他方式自动执行此操作?或者我必须在table A
完成数据插入后手动运行Procedure A
。
更简单地说,我想知道如何在插入几行和一个提交后触发触发器,即不是针对每一行。
您可以为每行或每个语句(FOR EACH ROW选项)定义要触发的触发器。
如果我理解你是对的,你想在一堆陈述后触发触发器?不要以为你可以。即使你可以,我宁愿不这样做。它们会分散您的程序流程/逻辑,并且会让您很难了解您的软件如何工作。
问候
我认为你是对的...我在网上也找到任何东西也.. 将尝试任何其他选项..反正谢谢... – Avi 2011-12-30 09:04:21
如果我正确理解你的问题,你想触发器触发您完成您的交易由几个插入/更新语句后?如果是这种情况,我认为您应该考虑在插入/更新操作完成后立即在您的程序流程中调用您的Procedure A
。
换句话说:触发器只会有用,如果它应该被调用每行或每个语句。
在表中添加一列:例如“FINAL_ACTION”。保持这个列不变,直到您预期的最终行动。然后让你的触发器只被解雇:
REFERENCING NEW AS NEWREC OLD AS OLDREC
FOR EACH ROW
WHEN (NEWREC.FINAL_ACTION <> OLDREC.FINAL_ACTION)
DECLARE
--YOUR DECLARATIONS
BEGIN
--DO SOMETHING
END;
为什么更新后的触发器不能帮助你? (不是每个;一个语句触发器) – 2011-12-30 09:20:26