我在一个表中有一个字段,保存的是用户指定的一个date型的日期,我想让这个日期随着系统时间自动变化,请问如何实现?用触发器可以实现吗?

解决方案 »

  1.   

    什么意思,例如:今天存的记录,在明天 是否日期字段要变为明天,如果是这样就建个脚本,每天凌晨更新一次,如果是,日期字段记录当前时间,而在以后不改变的话,用SYSDATE
      

  2.   

    用job吧,你可以查一下job的用法
    你的这个很简单
    在sql*plus执行如下语句即可。variable jobno NUMBER;
    BEGIN
    DBMS_JOB.SUBMIT(:jobno,'增加日期的过程名;',TRUNC(SYSDATE),'TRUNC(SYSDATE) + 1');
    COMMIT;
    DBMS_OUTPUT.PUT_LINE(:jobno);
    END;
    /
    另外中间那个调用的过程你要自己写一下。
    update 需加日期的表 set the_date = TRUNC(SYSDATE) where ......(对时间没要求的话这样就可以)update 需加日期的表 set the_date = the_date + 1 where ......(如果不是设为今日,是加1天的话这样就可以)
      

  3.   

    也可以用windows的计划任务,每天凌晨执行一次
    脚本内容:
    sqlplusw user_name/pass@service_name @file_namefile_content
    update set date_file = sysdate where...
    commit;
    exit;
    具体用sqlpulsw还是别的,要看你的sqlplus的可执行文件名是什么了
      

  4.   

    用JOB吧 Alkeen() 写的很清楚了把UPDATE放到一个存储过程中就行了