日期:2014-05-17  浏览次数:20884 次

触发器的写法
我的业务需求是,在tab1被插入前,判断,如果其中tab1.id=null,我就给他赋值=100
就这样简单啦

我的部分代码是

create or replace TRIGGER TBBIKECARDREC_BI 
BEFORE INSERT  on TBGUESTCARDREC 
begin

  if (TBGUESTCARDREC.ID = null) then--这里就开始报错啦,说不允许出现这个表名什么
   
    TBGUESTCARDREC.ID := gen_id(gen_cardrec_id,1);--这个gen_id其实是个序列,自增100的序列
  end if;
end;


请问大家,以上代码改如何改啊

------解决方案--------------------
晕 你之前没写对。。
create or replace TRIGGER TBBIKECARDREC_BI
  BEFORE INSERT on TBGUESTCARDREC
  for each row
begin
  if :old.id is null then
    :new.id := gen_id(gen_cardrec_id, 1);
  end if;
end;