数据库记录自动插入及排序的子程序 寿永斌 1997-01-01   在对数据库进行记录修改操作时,往往需要插入新的记录,同时需要将所有记录的序号字段重新设置。例如:当在原序号3与4的记录之间插入一个新的记录时,需要将新记录登记为4号,并将原4号记录及以后的所有记录的序号顺延加1,即改为5、6、7等。上述操作,当数据库记录量较大时,如果全部用手工修改的话,工作量是不小的。下面的子程序段利用SORT和REPLACE命令,可自动快速完成上述修改过程。   SORT ON NUMB TO LSWJ   *“NUMB”——所需处理数据库序号的字段名,数值型,小数点1位   *“LSWJ”——存放数据的临时文件   ZAP   APPEND FROM LSWJ   DO WHILE .NOT. EOF()   M_NUMB=INT(NUMB+0.9)   IF M_NUMB>NUMB   REPLACE NUMB WITH INT(NUMB)+1   DO WHILE .NOT. EOF(0)   SKIP   REPLACE NUMB WITH NUMB+1   LOOP   ENDDO   ENDIF   SKIP   LOOP   ENDDO   程序运行时,当需要插入新的记录时,只要将序号登记为插入点前后序号之间的一个带小数的数字即可。例如:要在原记录4号和5号间插入一个新的记录,将新记录号登记为4.5,上述子程序运行后,新记录即改为5号,而原记录5号及以后各数据均顺延加1。如果要同时插入两个或以上记录的话,新记录序号顺次登记为4.1、4.2、4.3等即可。