首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

、写一个在插入数据时改变数据的触发器

2013-11-20 
求助、写一个在插入数据时改变数据的触发器如a表中有个name字段、我要在执行insert时如果name插入的值是张

求助、写一个在插入数据时改变数据的触发器
如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;

热点排行