没看到死循环,应该没问题的。是不是这句话耗时太久?select count(*) into counter from (此处隐去名字) where (EXIT_STATION_ID=0130) and (TRANS=113) and (DEAL_TIME>(DEAL_TIME_SEGMIN+(i-1)*500) and DEAL_TIME<(DEAL_TIME_SEGMIN+i*500));