代码如下,实际运行时取过'2011-07-23 00:05:00'数据后SQL并没有结束,而是循环执行,又从'2011-07-23 00:00:00'开始执行。但当我把表改为小数据量表时,又不循环执行,一切正常。现在这张表数据量很大,是分区表。请各位同仁帮忙看看。
sqlplus 'd_zctt/d_zctt$zj1106@zjshdb' <<EOF
set echo off;
set feedback off;
set heading off;
set verify off;
set termout off;
set pagesize 0;
spool on;
spool /opt/zjdata/data.dat;
select * from table_name partition(P_20110723) where first_result>=to_date('2011-07-23 00:00:00','YYYY-MM-DD HH24:MI:SS')
and first_result<=to_date('2011-07-23 00:05:00','YYYY-MM-DD HH24:MI:SS');
spool off;
EOF
exit
------解决方案--------------------
不可能,SQL哪有循环一说。程序没问题。数据查出来的顺序又不是按时间排序的,你怎么知道循环了呢?