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;
/
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;
/
已经插入的数据呢?用oracle的job来做这件事情吧。
可否说得详细一点呢??我刚接触Oracle,所以不太懂啊??
劳烦老兄了
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;
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;
/