批量设置会计月脚本,主要用于示例ORACLE时间函数

Declare
  FirstMonthBgnDate  varchar2(10);
  LastMonthBgnDate  varchar2(10);


  TmpMonthBgnDate  varchar2(10);
  TmpMonthEndDate  varchar2(10);


Begin
  FirstMonthBgnDate:='2007-01-01';--第一个会计月的开始日期
  LastMonthBgnDate:='2007-12-01';--最后一个会计月的开始日期


  --Delete From tSysAcctMonth; 按条件删除可能存在的重复数据


  TmpMonthBgnDate:=FirstMonthBgnDate; --第一个会计月开始日期就是设置的日期
  Loop


    --开始日期加1月再减1就是第一个月的结束日期
    TmpMonthEndDate:=to_char(add_months(to_date(TmpMonthBgnDate,'yyyy-mm-dd'),1)-1,'yyyy-mm-dd');
    
    dbms_output.put_line(TmpMonthBgnDate||'-'||TmpMonthEndDate||'   ');--输出到缓冲区以便核对
      
    /*Insert Into tSysAcctMonth(AcctYear,AcctMonth,BgnDate,EndDate)    --要是上面输出的结果检查没问题,就取消这里的注释往正式表插数据
    Values(SubStr(TmpMonthBgnDate,1,4),SubStr(TmpMonthBgnDate,6,2),TmpMonthBgnDate,TmpMonthEndDate);*/
    
    TmpMonthBgnDate:=to_char(to_date(TmpMonthEndDate,'yyyy-mm-dd')+1,'yyyy-mm-dd');--上会计月结束日期+1就是下一循环的开始日期


    Exit When TmpMonthBgnDate>LastMonthBgnDate;--当开始日期大于最后一个会计月时,退出
  End Loop;
commit;
End;
/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值