如何创建仅更新一行的触发器

时间:2016-12-09 14:27:07

标签: oracle plsql triggers

我研究了我的问题,但仍然不知道语法是什么。这没有回答:Trigger that updates just the inserted row

enter image description here

使用Oracle SQL Developer,在此Employees表中,假设ID是主键,如何为更新第二条记录创建触发器以将Alice的区域更改为“West”?

到目前为止,我有:

CREATE OR REPLACE TRIGGER employees_trg on employees
WHERE ID = 2
FOR INSERT
AS
    UPDATE dbo.employees
    ....

1 个答案:

答案 0 :(得分:2)

我理解的是当有人用Id = 2更新行时你想强制该区域是West。你可以用:

CREATE OR REPLACE TRIGGER employees_trg 
  BEFORE UPDATE on employees FOR EACH ROW
begin
if (:new.id = 2) then
  :new.region := 'West';
end if;
end;
/