当在同一个表中找到特定的数字时,pl sql触发器更新列值

时间:2017-04-25 06:13:25

标签: database oracle plsql

我想创建pl sql触发器,在找到8时更新列值。表中所有其他内容保持不变。 我的代码在下面,但它不起作用

create or replace trigger Update_Hour
  before UPDATE of hour ON register

     for each row
    declare
      -- local variables here
    begin
      if :new.hour  = 7 then
         :new.hour := 8 ;
      end if;
    end Update_Hour;

1 个答案:

答案 0 :(得分:0)

  

"我认为这个触发器适用于新的值,而不是列中已有的旧值......它们需要手动更新。"

所以你需要的是:

update  register
set hour = 8
where hour = 7
/