【发布时间】:2021-04-04 18:14:37
【问题描述】:
我有一个名为 Employee 的表,其中包含多个字段,其中一个字段是 current_salary。我正在尝试编写一个触发器,以使该字段的新值永远不会小于原始值。我还没有找到相关的例子,而且我是 PL/SQL 的新手。
CREATE TRIGGER TR_EMPLOYEE_SAL
BEFORE UPDATE
ON EMPLOYEE
FOR EACH ROW
BEGIN
IF :NEW.CURRENT_SALARY > :OLD.CURRENT SALARY THEN
UPDATE EMPLOYEE
SET CURRENT_SALLARY = :NEW.CURRENT_SALARY;
END IF;
END;
/
我的理由如下:它必须在进行更改之前检查新值,因此我选择了“之前”。它应该将现有值与更新值进行比较,并且只有在新值高于原始值时才更改它。我显然在这里缺少一些基础知识,所以我需要一些提示。
【问题讨论】:
标签: sql oracle plsql triggers sql-update