2015-02-05 51 views
0

我使用的是Oracle 10.2和蟾蜍爲甲骨文的Xpert版本11.5.0.56TOAD爲什麼弄糟了dbms_output中的輸出順序?

爲什麼這個腳本打印的東西在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爲止。

TOAD顯示爲什麼不顯示從正確順序Indx = 1到Indx = 54的文本?

退出是否與此行爲有關?

+1

我不認爲代碼會創建你指定的輸出(你錯過了很多),所以你沒有告訴我們什麼......你能簡化你的代碼到它演示這個問題的地步,而你可以在不佔用大量空間的情況下發布完整的輸出(僅輸出索引) – Ben 2015-02-05 21:07:00

+0

通過sqlplus運行它並查看是否得到相同的結果。 – OldProgrammer 2015-02-05 21:58:43

+0

什麼版本的蟾蜍?我正在使用最新的測試版,並且以腳本(F5)和F9執行,結果均以1..54的順序生成。 – 2015-02-05 22:01:08

回答

0

TOAD的11.5.0.56版本似乎存在問題/錯誤,導致它在DBMS輸出窗口中輸出錯誤的結果。

它通過應用最高版本11.5.2的修補程序或獲取更新的版本而得到修復。

相關問題