20181223 Oracle中while

最近尝试了一次while跑数,

declare

   sysdataend  date:=system-1;

   startdata  date:=to_date('20181214','YYYYMMDD');

begin

   while(startdata<sysdataend)

   loop

        -- 需要执行循环的过程

        startdata:=startdata+1;

   loop end;

end;

测试中发现system-1 的当天也会被计算,那么从结构上来看应该是while后面的条件先执行,那么system-1那天是不应该计算的。

但测试结果表示system-1如果在执行过程里面进行打印,是会被打印出来的。那么就表示,while后面的条件,是在loop后再进行判断的。

使用的时候需要注意这一点,不然会出现多数

 

posted @ 2018-12-23 13:56  soar.pang  阅读(195)  评论(0编辑  收藏  举报