我正在使用Oracle 10.2和Toad for Oracle Xpert Version 11.5.0.56
为什么此脚本会在 DMBS输出窗口中以错误的顺序打印内容?
BEGIN
FOR indx IN 1 .. 70
LOOP
dbms_output.put_line('-------------------------------------------------- TEST --------------------------------------------------');
dbms_output.put_line('INDEX: ' || indx);
dbms_output.put_line('CREATING: 3424234 - TEST - TEST.TTEST');
dbms_output.put_line('CREATION ORDER: ' || 10);
dbms_output.put_line('OTHER DATA IS VALID: N');
IF indx = 54 THEN
dbms_output.put_line('=======================================');
EXIT;
END IF;
END LOOP;
END;
如果查看输出窗口,它将显示以错误顺序打印的项目。按此顺序打印索引的行:
21,22,23,... 54,1,2,... 20
基本上它首先显示索引的行= 21,然后是22,依此类推,直到它打印出Indx = 54的行。此时它会打印Indx = 1,然后Indx = 2的行,直到20。
为什么没有以正确的顺序显示从Indx = 1到Indx = 54的文本?
For中间的Exit是否与此行为相关?
答案 0 :(得分:0)
在TOAD的11.5.0.56版本中似乎存在一个问题/错误,导致它在DBMS输出窗口中错误地打印结果。
通过应用最高版本11.5.2的补丁或获取更新的版本来解决此问题。