create or replace trigger trg_insert 
befor insert on reg
for each row
begin
if to_char(:new.dtime,'yyyy-mm-dd hh24:mi')=to_char(sysdate,'yyyy-mm-dd') then
:new.nflag:=1;
else
:new.nflag:=0;
end if;
end trg_insert;
/

解决方案 »

  1.   

    上面的那位,你只是解决了她新插入的数据,
    已经插入的数据呢?用oracle的job来做这件事情吧。
      

  2.   

    job?怎么做??
    可否说得详细一点呢??我刚接触Oracle,所以不太懂啊??
    劳烦老兄了
      

  3.   

    bzszp 没有解决触发问题关注ing
      

  4.   

    create or replace trigger trg_insert 
    befor insert on reg
    for each row
    begin
     if inserting and :NEW.dtime=To_char(sysdate,'HH:MM:SS')
        then
          :new.nflag := 1;
      end if;
    end;
      

  5.   

    我想要的不是插入数据时的触发器,是在dTime中已有时间值了,当系统的日期到达dTime中的预定的日期时,触发器就开始操作改变那条数据的nFlag值
      

  6.   

    create procedure pro
    as
    cursor t_sor is
    select * from table_name;
    begin
    for v_sor in t_sor loop
    if trunc(v_sor.dtime)=trunc(sysdate) then
    update table_name set nflag=0 where id=v_sor.id;
    end if;
    end loop;
    commit;
    end;
    /
    declare
    jobno number;
    begin
    dbms_job.submit(jobno,'pro;',sysdate,'trunc(sysdate)+1');
    commit;
    end;
    /
      

  7.   

    to  beckhambobo(beckham)这段代码我有些地方看不懂,可不可以加点注释进去指点一下后辈吧!!