Linkexpress Transactional Replication option説明書
目次 索引 前ページ次ページ

付録A TRO> A.3 トリガによるユーザ独自の編集について> A.3.3 Oracleデータベースの場合

A.3.3.2 定義例

Oracleデータベースにおける、INSERT文に対するトリガの定義例を説明します。

■格納データの加工(種別:BEFORE)

◆トリガの定義例

CREATE OR REPLACE TRIGGER TRG1
BEFORE INSERT ON TBL1
FOR EACH ROW
BEGIN
  :NEW.ITEM1 := :NEW.ITEM1 * 2; -- 加工
END;

表TBL1の列ITEM1(:NEW.ITEM1)を加工し、その結果を同じ列に代入します。

■反映処理の迂回(種別:BEFORE)

◆トリガの定義例

CREATE OR REPLACE TRIGGER TRG1
BEFORE INSERT ON TBL1
FOR EACH ROW
BEGIN
  IF(:NEW.ITEM1 <0 ) THEN -- 迂回判定
    Raise_application_error(-20999, 'user definition error'); -- エラー番号を返す
  END IF;
END;

表TBL1の列ITEM1(:NEW.ITEM1)を判定します。迂回条件を満たす場合、エラー番号-20999を返してトリガを終了します。


目次 索引 前ページ次ページ

Copyright FUJITSU LIMITED 2007-2009