關於內表釋放的相關語法對比[1]

leniz發表於2009-06-26

關於內表釋放的相關語法對比[1]

在使用內表時,如果不會再使用這個內表了,一個好的編碼習慣是:清理內表,釋放內表空間。我們不迷惑這個習慣,但是常常被清理內表、釋放內表的語法所迷惑,因為有:clearfreerefresh

    首先我們來看看各個命令的語法。

     CLEAR

        Syntax

         CLEAR dobj.

    執行後,所有內表中的行將會被刪除,內表消耗的空間將被收回,僅保留內表初始內表空間的大小(在定義內表時可以通過“INITIAL SIZE”來顯式宣告初始行數)。上述說法成立有一個非常重要的前提,那就是“dobj是一個沒有工作區(header)的內表,否則執行結果將只是清空工作區,這一點也是我們最容易搞錯的。所以如果內表有工作區又的卻需要清空內表請使用“CLEAR dobj[],如果需要順帶清空工作區,可以使用“CLEAR: dobjdobj[] 

REFRESH

Syntax

REFRESH itab.

    執行後,內表中的所有行將會被刪除清空並釋放空間,內表恢復到初始值預留行的空間大小,所以執行效果和“CLEAR itab[]是一樣的。如果此內錶帶工作區,工作區不會被清除。

FREE

Syntax

FREE itab.

    執行後,內表中的所有行將會被刪除清空並釋放所有的空間,即使內表宣告時預留了空間,但和“REFRESH一樣,不會去清空工作區。

 

[有下段]

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/554557/viewspace-607650/,如需轉載,請註明出處,否則將追究法律責任。

相關文章