トリガーを作成するインストール・スクリプトの編集
ソース表にBEFORE INSERTトリガーがあるアプリケーションで、ソース表から関連付けられた新規表にデータを挿入する場合、インストール・スクリプトの各INSERT文によって新規表へのデータの挿入の前に、トリガーを起動するかどうか決定する必要があります。
たとえば、NEW_EVALUATION_TRIGGER (「チュートリアル: 行を挿入する前に行に対して主キーを生成するトリガーの作成」で作成した)は、行がEVALUATIONS表に挿入される前に起動します。トリガーは、EVALUATIONS_SEQUENCEを使用して、その行の主キーに対する一意の番号を生成します。
ソースEVALUATIONS表には、主キーが移入されています。インストール・スクリプトを新規EVALUATIONS表の新規主キーしない場合、インストール・スクリプトのCREATE TRIGGER文を次のように編集する必要があります。
CREATE OR REPLACE
TRIGGER NEW_EVALUATION_TRIGGER
BEFORE INSERT ON EVALUATIONS
FOR EACH ROW
BEGIN
IF :NEW.evaluation_id IS NULL THEN
:NEW.evaluation_id := evaluations_sequence.NEXTVAL
END IF;
END;
また、順序の現在の値が主キー列の最大値より大きくない場合、大きくする必要があります。
インストール・スクリプトは、ワークシートまたはテキスト・エディタのいずれかで編集できます。
次のステップは、インストール・スクリプトの編集に2つの方法があります。
-
ソース・ファイルのトリガー定義を変更し、インストール・スクリプトを再作成します。
トリガーの変更の詳細は、「トリガーの変更」を参照してください。
-
トリガーを無効にしてからデータ・インストール・スクリプトを実行し、トリガーを再度有効にします。
トリガーの無効化および有効化の詳細は、「トリガーの無効化および有効化」を参照してください。
関連項目: 「トリガーの作成」