gpt4 book ai didi

oracle - 有关触发器的帮助

转载 作者:行者123 更新时间:2023-12-01 13:00:30 25 4
gpt4 key购买 nike

我有一张表 (TableA)。在这张表上,我正在创建一个触发器,它将一行插入到另一个表 (TableB) 中,用于在 TableA 上进行插入、更新和删除操作。我的目的是跟踪 TableA 上的修改。

我只有一个触发器来执行此操作。(在 TableA 上插入或更新或删除之前创建触发器 trig_name ... – 有点)。

现在我需要对表 A 执行的实际操作是什么。当触发器向 TableB 中插入一行时,我希望对 TableA 执行的实际操作也插入到列中。

是否有可能使用单个触发器捕获对 TableA 执行的操作,或者我是否必须为每个 DML 语句操作创建单独的触发器?

TIA。

最佳答案

引用 the docs :

Detecting the DML Operation that Fired a Trigger

If more than one type of DML operation can fire a trigger (for example, ON INSERT OR DELETE OR UPDATE OF emp), the trigger body can use the conditional predicates INSERTING, DELETING, and UPDATING to check which type of statement fire the trigger.

Within the code of the trigger body, you can execute blocks of code depending on the kind of DML operation that fired the trigger:

IF INSERTING THEN ... END IF;
IF UPDATING THEN ... END IF;

关于oracle - 有关触发器的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6329067/

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