create or replace procedure changedocdetailstatus
as 
begin
  update docdetail t set t.docstatus = 5 
  where t.seccategory = 381 
    and t.doccreatedate <= to_char(sysdate - 1,'yyyy-mm-dd')
    and t.docstatus <> 5;
end ;

以上这个过程如何理解,请高手们帮忙解释下

解决方案 »

  1.   

    修改把表docdetail中doccreatedate小于等于昨天
    并且ocstatus 不等于5的记录,把状态改为5 以及把seccategory 的值改为381
      

  2.   

    啊????昨天那个JOB是做备份用的啊怎么今天的这个过程里面只是执行更改表内容的状态吗?
      

  3.   

    --这个过程不理解?
    update docdetail t set t.docstatus = 5 
    /*
    修改 docdetail 表里的docstatus字段
    条件是seccategory=381并且
    doccreatedate是当前时间的前一天(也就是昨天)之前
    并且docstatus不等于5
    */
    where t.seccategory = 381 
    and t.doccreatedate <= to_char(sysdate - 1,'yyyy-mm-dd')
    and t.docstatus <> 5;
      

  4.   

    --不好意思没看清楚修改把表docdetail中doccreatedate小于等于昨天,seccategory 的值为381
    并且ocstatus 不等于5的记录,把状态改为5 
      

  5.   

    说通俗点就是把昨天之前且seccategory=381的
    docstatus不等于5改为5
      

  6.   


    恩,如果要自动备份,有多少种办法?用JOB可以做的吧?数据库是装LINUX系统的,应该不能像WINDOWS的系统自带的作业那样来进行备份吧?
      

  7.   

    就是更新表docdetail的状态docstatus=5,条件是doccreatedate创建时间要在昨天之前的,而且状态docstatus不是5的,并且t.seccategory = 381的数据。