【发布时间】:2015-03-11 03:23:38
【问题描述】:
我正在使用 Oracle 11g,想知道使用“When”子句是否有任何特定优势。以下是我的触发器可以编写的几种方法(两种方法都有效)。我想知道在性能方面是否有任何差异。
Create or Replace Trigger Validate_EMP_T1 on EMP
After Insert OR Update
On EMP For Each Row
BEGIN
IF UPDATING THEN
IF :NEW.salary != :OLD.salary
OR :NEW.dept_no != :OLD.dept_no THEN
.
END IF;
ELSIF INSERTING THEN
IF :NEW.salary != 0 THEN
.
END IF;
END IF;
END;
OR
Create or Replace Trigger Validate_EMP_T1 on EMP
After Insert OR Update
On EMP For Each Row
WHEN ( UPDATING AND ( NEW.salary != OLD.salary
OR NEW.dept_no != OLD.dept_no )
OR INSERTING AND NEW.salary != 0 )
BEGIN
IF UPDATING THEN
.
ELSIF INSERTING THEN
.
END IF;
END;
【问题讨论】: