【发布时间】:2011-09-29 11:47:18
【问题描述】:
SQL> DECLARE
2 TotalUpd NUMBER(36) := 0;
3 BEGIN
4 dbms_output.put_line ('Job Start time............... : ' || to_char(SYSDATE, ' hh24:mi:ss'));
5 UPDATE Asset SET _status = 'PROGRESS' WHERE status is null;
6 TotalUpd := SQL%ROWCOUNT;
7 dbms_output.put_line('Total Records Updated. : ' || TotalUpd);
8 COMMIT;
9 EXCEPTION
10 WHEN NO_DATA_FOUND THEN
11 dbms_output.put_line ('No more data to update.');
12 WHEN OTHERS THEN
13 dbms_output.put_line ('Error while status as SUCCESS ');
14 END ;
15 /
上述过程的结果是 作业开始时间...... : 04:41:41 更新的总记录。 : 0
但是我的预期结果是“没有更多的行要更新”必须打印,因为我已经截断了表 Asset。请告诉我哪里出错了。
【问题讨论】:
标签: oracle plsql oracle10g oracle11g