Chinaunix

标题: 关于rpgle程序中嵌套sql的问题 [打印本页]

作者: GOD014    时间: 2011-08-02 17:32
标题: 关于rpgle程序中嵌套sql的问题
有个问题请大家帮忙想想法子。正常情况下,一个PF文件,如果用sql语句中的delete,可以删除表里的记录,并且可以释放表的空间大小,但是用rpgle中嵌套sql语句执行delete,就不能施放表空间大小,有没有法子可以释放表空间呢。不可以用系统命令RGZPFM,这样会锁表,而且等待时间不可知。
  拜托各位高手教教我,谢谢啦
作者: franliu    时间: 2011-08-02 18:10
回复 1# GOD014


    when you compile the rpg program, specify COMMIT(*NONE)
作者: GOD014    时间: 2011-08-02 19:07
回复 2# franliu


    大哥不行啊,编译后调用程序,大小还是没有变化啊,和原来一样
作者: tomroom    时间: 2011-08-02 20:49
回复 3# GOD014

若是删除该表所有记录,可以试试drop table

    若你是删除部分记录,table 是通过pf 建立的,你可以修改PF的一个参数,命令chgpf 修改Reuse deleted records  . . . . .   *YES   
命令类似 CHGPF FILE(BOT/IDINF) REUSEDLT(*YES)  
(注意,若你这个表会有大量数据插入操作,该option修改会降低PF插入数据的速度)
作者: insmile    时间: 2011-08-02 23:00
如楼上,修改pf的reuse属性
作者: GOD014    时间: 2011-08-03 08:29
回复 4# tomroom


    你的意思是删除记录后重复利用原来的记录空间,可是不能真正意义上释放表空间啊。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2