日期 收入 支出 
2000/3/1 50 30 
2000/3/2 45 60 
2000/3/3 0 0 
2000/3/4 0 0 
比如說3/3 3/4是周末。
如何自動產生2000/3/3 ,2000/3/3 的記錄。
謝謝。
求自動產生

解决方案 »

  1.   

    周一上班了人工添加,或者创建JOB自动执行
      

  2.   

    1 建立触发器在插入周一信息前检查有没有周六周日的如果没有就插入一条,或者在周5插入信息后执行该操作;
    2 编写存储过程检查是否已经有前一天的记录,如果没有则自动插入一条前一天的空记录,然后建立job每天晚上00:00:00调用,这样还可以自动为其他非周末的没有业务的日期自动生成一条空记录;
    3 在用户录入界面代码中加入验证,如果前一天没有生成记录,则自动为前一天插入一条空记录;如果每天产生记录很多,推荐使用2
    如果每天只产生一条或几条记录,推荐使用1
    如果对触发器和过程及作业不熟悉,就只好用3了,但3要考虑连续多天没记录的情况
      

  3.   

    謝謝了
    這個是比較不錯在辦法
    我下午問人寫出來了
    select c.riqi,  shouru,zhichu from (select( riqi+id) riqi from (select min (riqi) riqi,max(riqi) max_riqi from t1) a,
    (select rownum-1 id from  user_objects) b where riqi+id<max_riqi) c,t1 d where c.riqi=d.riqi(+)
    通過這樣寫出~
      

  4.   

    謝謝了
    這個是比較不錯在辦法
    我下午問人寫出來了
    select c.riqi, nvl( shouru,0)ru,nvl(zhichu,0), sum(shouru-zhichu) over (order by c.riqi)  from (select( riqi+id) riqi from (select min (riqi) riqi,max(riqi) max_riqi from t1) a,
    (select rownum-1 id from  user_objects) b where riqi+id<max_riqi) c,t1 d where c.riqi=d.riqi(+) 
    通過這樣寫出~