编辑用于创建触发器的安装脚本

如果应用程序在源表上有 BEFORE INSERT 触发器,并且您将源表中的数据插入对应的新表,则必须决定是否希望安装脚本中的每个 INSERT 语句在将数据插入新表之前触发触发器。

例如,在将行插入到 EVALUATIONS 表之前,NEW_EVALUATION_TRIGGER(在“教程:创建在插入行之前为行生成主键的触发器”中创建)会触发。触发器使用 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;

此外,如果序列的当前值不大于主键列中的最大值,则必须使其变大。

您可以在工作表或任何文本编辑器中编辑安装脚本。

以下步骤是编辑安装脚本的两个替代方法:

另请参阅:创建触发器