oracle中触发器中:new 和:old,请举例说明
时间: 2024-02-15 14:04:00 浏览: 165
Oracle使用触发器和mysql中使用触发器的案例比较
在Oracle数据库中,触发器(trigger)是一种特殊的存储过程,它会在特定的表上执行特定的操作,例如插入、更新或删除数据行时。
在触发器中,可以使用关键字NEW和OLD来引用触发器所作用的表中的新值和旧值。具体来说:
- NEW表示插入或更新操作后的新值。
- OLD表示更新或删除操作前的旧值。
举个例子,假设我们有一个名为employee的表,其中包含员工的基本信息(姓名、年龄、性别等)。我们希望在每次插入或更新员工信息时,自动记录下修改的时间。这可以通过以下触发器实现:
```
CREATE OR REPLACE TRIGGER trg_employee
BEFORE INSERT OR UPDATE ON employee
FOR EACH ROW
BEGIN
:NEW.modify_time := SYSDATE;
END;
/
```
在上面的触发器中,我们使用关键字NEW来引用新插入或更新的员工信息,并将其修改时间(modify_time)设置为当前时间(SYSDATE)。这样,每次插入或更新操作完成后,都会自动记录下修改时间。
阅读全文