Триггер Db2 для вставки / обновления записи в другую таблицу - PullRequest
0 голосов
/ 27 марта 2019

Я пытаюсь создать триггер db2 со следующей функциональностью ...

Когда запись вставляется / обновляется в Table1, вставьте / обновите эту же запись в Table2.Подвох в том, что Table1 имеет 11 столбцов, а Table2 имеет 5 столбцов.5 столбцов в Таблице 2 точно такие же, как и 5 столбцов в Таблице1, однако, поскольку в Таблице 1 есть дополнительные 6 столбцов, как Триггер узнает, какие 5 из 11 конкретных столбцов я хотел бы вставить / обновить в Таблицу 2?

Например:

Table1

MasterID SubMasterID Цена Расположение Тип Статус Статус Имя Фамилия Контакт Фамилия Контакт E-mail Контакт Состояние Контакт Zip

Table2

MasterID SubMasterID Цена Тип местоположения

Из приведенного выше примера, после вставки / обновления в Table1, я хотел бы вставить / обновить эту же запись в Table2, но только с 5 столбцами в Table2 (имеется в виду MasterID, SubMasterID, цена, местоположение, тип).

Возможно ли это на самом деле с помощью триггера в 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

Однако я не уверен, как этот триггер может конкретно определять конкретные столбцы из Таблицы1 ввставить / обновить в Table2.

...