gpt4 book ai didi

triggers - 在 DB2 中,是否可能只有一个触发器用于更新和插入?

转载 作者:行者123 更新时间:2023-12-01 03:00:15 24 4
gpt4 key购买 nike

我必须创建触发器来保持对我的表的审计。触发器应该在插入和更新时执行。

目前我有两个触发器

一个用于插入 :

CREATE TRIGGER SCH.TRG_TBL1_AFT_I
AFTER INSERT ON SCH.TBL1
REFERENCING
NEW AS n
FOR EACH ROW
MODE DB2SQL
INSERT INTO SCH.TBL1_AUDIT
VALUES( .. ,, .. );

另一个更新
CREATE TRIGGER SCH.TRG_TBL1_AFT_U
AFTER UPDATE ON SCH.TBL1
REFERENCING
NEW AS n
FOR EACH ROW
MODE DB2SQL
INSERT INTO SCH.TBL1_AUDIT
VALUES( .. ,, .. );

但关键是,是否可以在 DB2 中创建单个触发器来完成任务? [假设两者,触发器都在做同样的事情。]

最佳答案

尝试这个

CREATE or replace TRIGGER PASSENGER_TR01_BEFORE_IUD
BEFORE
DELETE
OR UPDATE OF FIRST_NAME
OR INSERT ON PASSENGER
REFERENCING
OLD AS oldRow
NEW AS newRow
FOR EACH ROW
WHEN (1=1)
Begin
Declare ACTION Char(1) Default '';
-- Use Case/When to inquire trigger-event
Case
When INSERTING Then
Set ACTION='I';
When UPDATING Then
Set ACTION='U';
When DELETING Then
Set ACTION='D';
Else
Set ACTION='N';
End Case;

-- Use If/Then/Else to inquire trigger-event
If INSERTING Then
Set ACTION='I';
ElseIf UPDATING Then
Set ACTION='U';
ElseIf DELETING Then
Set ACTION='D';
Else
Set ACTION='N';
End If;
End

关于triggers - 在 DB2 中,是否可能只有一个触发器用于更新和插入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1011673/

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