create or replace trigger tr_tai_ologrec_serial_i before insert on tai_ologrec  
for each row
declare  
-- local variables here
begin   
if :new.olog_num is null then                
select q_tai_ologrec.nextval into :new.olog_num from dual;   
end if;
endtr_tai_ologrec_serial_i;

解决方案 »

  1.   


    select q_tai_ologrec.nextval into :new.olog_num from dual;    
    --改为下面试下
    :new.olog_num := q_tai_ologrec.nextval;
      

  2.   

    如果不行你就只能把q_tai_ologrec.nextval;放到一个变量
    然后:new.olog_num := 变量;create or replace trigger tr_tai_ologrec_serial_i 
    before insert on tai_ologrec   
    for each row
    declare   
    v_val int := 0;
    begin    
    if :new.olog_num is null then                 
    select q_tai_ologrec.nextval into v_val from dual; 
    :new.olog_num := v_val; 
    end if;
    end tr_tai_ologrec_serial_i;
      

  3.   

    还有你的endtr_tai_ologrec_serial_i;
    要分开end tr_tai_ologrec_serial_i;
    或直接用end;就可以了