首页 > Linux操作系统 > Linux操作系统 > 关于内表释放的相关语法对比[1]
关于内表释放的相关语法对比[1]
在使用内表时,如果不会再使用这个内表了,一个好的编码习惯是:清理内表,释放内表空间。我们不迷惑这个习惯,但是常常被清理内表、释放内表的语法所迷惑,因为有:clear、free、refresh。
首先我们来看看各个命令的语法。
CLEAR
Syntax
CLEAR dobj.
执行后,所有内表中的行将会被删除,内表消耗的空间将被收回,仅保留内表初始内表空间的大小(在定义内表时可以通过“INITIAL SIZE”来显式声明初始行数)。上述说法成立有一个非常重要的前提,那就是“dobj”是一个没有工作区(header)的内表,否则执行结果将只是清空工作区,这一点也是我们最容易搞错的。所以如果内表有工作区又的却需要清空内表请使用“CLEAR dobj[]”,如果需要顺带清空工作区,可以使用“CLEAR: dobj,dobj[]”。
REFRESH
Syntax
REFRESH itab.
执行后,内表中的所有行将会被删除清空并释放空间,内表恢复到初始值预留行的空间大小,所以执行效果和“CLEAR itab[]”是一样的。如果此内表带工作区,工作区不会被清除。
FREE
Syntax
FREE itab.
执行后,内表中的所有行将会被删除清空并释放所有的空间,即使内表声明时预留了空间,但和“REFRESH”一样,不会去清空工作区。
[有下段]
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/554557/viewspace-607650/ ,如需转载,请注明出处,否则将追究法律责任。