0

複数のテーブルで使用したい次のトリガーがあります。では、テーブルごとに1つのトリガーを使用する代わりに、どのように機能させることができますか?

BEGIN
    IF (TG_OP = 'UPDATE') THEN
        UPDATE test_table set rel_label = (select SUBSTR(release, 1, 5)) where uid=OLD.uid;
        RETURN OLD;
    ELSIF (TG_OP = 'INSERT') THEN
        UPDATE test_table  set rel_label = (select SUBSTR(release, 1, 5)) where uid=OLD.uid;
        RETURN NEW;
    END IF;
    RETURN NULL; -- result ignored since is an AFTER TRIGGER
END;

よろしく。

4

2 に答える 2

0

まっすぐな解決策を見つけました。

BEGIN
    IF (TG_OP = 'INSERT') THEN
                NEW.rel_label = (select SUBSTR(NEW.release, 1, 5));
                RETURN NEW;
    ELSIF (TG_OP = 'UPDATE') THEN
                NEW.rel_label = (select SUBSTR(NEW.release, 1, 5));
                RETURN NEW;
    END IF;
            RETURN NULL;

END;
于 2013-03-06T14:15:08.027 に答える
0

EXECUTEコマンドのドキュメントを参照してください。

于 2013-03-06T13:47:15.687 に答える