Oracle 触发器在插入或更新时更新字段
Posted
技术标签:
【中文标题】Oracle 触发器在插入或更新时更新字段【英文标题】:Oracle Trigger Updating a field on an Insert or an Update 【发布时间】:2010-12-22 11:10:32 【问题描述】:出于某种原因,我对如何做这样的事情一头雾水。
我有一张如下所示的表格:
UserID | Name | DateAdded | LastUpated
--------------------------------------------------
1 | James Q | 1/1/2009 |
如果我插入或更新记录,lastupdated 字段应更新为 sysdate。 我将如何去做这样的事情?
【问题讨论】:
【参考方案1】:CREATE OR REPLACE TRIGGER your_trigger_name
BEFORE INSERT OR UPDATE
ON your_table
FOR EACH ROW
DECLARE
BEGIN
:new.LastUpdated := sysdate;
END;
试试看。我手头没有 oracle 服务器,但我希望语法正确。
【讨论】:
【参考方案2】:创建或替换触发器 mytable_bi 在 mytable 上插入之前 对于每一行 开始
:NEW.lastupdated := sysdate();
结束;
创建或替换触发器 mytable_bu 在更新 mytable 之前 对于每一行 开始
:NEW.lastupdated := sysdate();
结束;
【讨论】:
以上是关于Oracle 触发器在插入或更新时更新字段的主要内容,如果未能解决你的问题,请参考以下文章