日期:2014-05-16  浏览次数:20944 次

求助、写一个在插入数据时改变数据的触发器
如a表中有个name字段、我要在执行insert时  如果name插入的值是'张三'   就要改成'李四'
用触发器实现、求高手写个触发器、、、

------解决方案--------------------
create or replace trigger TRI_T_A
before insert
on A for each row

begin
  if :new.name = '张三'
  then
  :new.name := '李四';
  end if;

end;
------解决方案--------------------

每个if都需要一个END IF相匹配。

begin
  if :new.name = '张三'
  then
      :new.name := '李四';
      else if :new.name = '王五'
      then
      :new.name := '李四';
      end if;
  :new.name := '李四';

  end if;
end;
------解决方案--------------------
你加條件之後語法有問題,不是else if ,應該是elsif...
CREATE OR REPLACE TRIGGER xtest 
  BEFORE INSERT ON test FOR EACH ROW 
BEGIN  
  IF :NEW.urname='张三' THEN 
    :NEW.urname:='李四';
  END IF;
END;