0

我正在尝试创建具有以下功能的 db2 触发器...

当一条记录插入/更新到 Table1 中时,将同一条记录插入/更新到 Table2 中。问题是,Table1 有 11 列,Table2 有 5 列。Table2 中的 5 列与 Table1 中的 5 列完全相同,但是,由于 Table1 有额外的 6 列,触发器如何知道我想将 11 个特定列中的哪 5 个插入/更新到 Table2 中?

例如:

表格1

MasterID SubMasterID 价格 位置类型 状态 联系方式 名字 联系方式 姓氏 联系方式 电子邮件 联系方式 州 联系方式 邮编

表2

MasterID SubMasterID 价格 位置类型

从上面的示例中,在插入/更新到 Table1 之后,我想将同一条记录插入/更新到 Table2 中,但是 Table2 中只有 5 列(意思是 MasterID、SubMasterID、Price、Location、Type)。

这实际上可以通过 Db2 中的触发器实现吗?

或者有人会建议写一段代码吗?

谢谢!任何帮助表示赞赏。

我试过像这样创建一个触发器(未经测试),

CREATE OR REPLACE TRIGGER "SCHEMA1"."TABLE1_TABLE2_INSERT" AFTER
INSERT
ON
    SCHEMA1.TABLE1 REFERENCING NEW AS A 
    FOR EACH ROW MODE DB2SQL BEGIN ATOMIC
INSERT
INTO
    SCHEMA2.TABLE2
    (
        "MasterID",
        "SubMasterID",
        "Price",
        "Location",
        "Type"
    )
    VALUES
    (
        a.MasterID,
        a.SubMasterID,
        a.Price,
        a.Location,
        a.Type
            );
    END

但是,我不确定此触发器如何专门识别 Table1 中的特定列以将其插入/更新到 Table2 中。

4

0 回答 0