S smp Unregistered / Unconfirmed GUEST, unregistred user! 1999-05-30 #1 我需要建立一个固定20000条记录的表,即第20001条记录覆盖第1个,表中永远只有 20000条记录,新记录循环覆盖。请问如何建立这样的TABLE(我知道ORACLE是有这样 的功能的)
H huizhang Unregistered / Unconfirmed GUEST, unregistred user! 1999-05-31 #2 Oracle我没用过, 不知是否有此功能, 但是通过Delphi的数据库功能完全能够实现. 做法有两种: 其一是建立库的时候就给20,000纪录赋初值, 以后每次只允许编辑修改 某个纪录, 不允许插入; 其二是允许插入纪录, 当纪录数等于20,000的时候将插入纪 录操作转换成编辑修改操作. 无论那种做法, 一定要有一个整数变量来保存最新的纪 录号, 以便知道该覆盖哪条纪录, 而且该变量要随时保存到某个文件中以便下次启动 时读入. 至于清理数据库可以根据不同方案写不同的清理过程. 具体做法只需要通过写DataSet相应的事件处理代码即可.
Oracle我没用过, 不知是否有此功能, 但是通过Delphi的数据库功能完全能够实现. 做法有两种: 其一是建立库的时候就给20,000纪录赋初值, 以后每次只允许编辑修改 某个纪录, 不允许插入; 其二是允许插入纪录, 当纪录数等于20,000的时候将插入纪 录操作转换成编辑修改操作. 无论那种做法, 一定要有一个整数变量来保存最新的纪 录号, 以便知道该覆盖哪条纪录, 而且该变量要随时保存到某个文件中以便下次启动 时读入. 至于清理数据库可以根据不同方案写不同的清理过程. 具体做法只需要通过写DataSet相应的事件处理代码即可.
C cpp Unregistered / Unconfirmed GUEST, unregistred user! 1999-05-31 #3 1 CREATE TABLE 是加一个时间字段 2.在表上建一个insert TRIGGER,COUNT(*) >2000 时,把最老的记录删了!
H huizhang Unregistered / Unconfirmed GUEST, unregistred user! 1999-05-31 #4 cpp的办法很好, 不要覆盖老的纪录, 干脆把新纪录放到后面而删除最前面的
S smp Unregistered / Unconfirmed GUEST, unregistred user! 1999-05-31 #5 各位大侠: 我其实是要做一个关于计费话单分拣查询的数据库应用,每天一更新,数据量很 大,不知道用这种方法填加、删除的方法会不会很慢? 因为我见过老外的一个CREATABLE的SQL,在CREATE TABLE时用到STORAGE子句 根据字意判断,应该是设置表大小的。可惜我手头的ORACLE资料不全,因此还希望熟 悉ORACLE的大侠能够不吝赐教。 当然,我会马上去试CPP的方法的(毕竟不能一棵树上吊死)。 等我成功了,马上给大侠加分!
各位大侠: 我其实是要做一个关于计费话单分拣查询的数据库应用,每天一更新,数据量很 大,不知道用这种方法填加、删除的方法会不会很慢? 因为我见过老外的一个CREATABLE的SQL,在CREATE TABLE时用到STORAGE子句 根据字意判断,应该是设置表大小的。可惜我手头的ORACLE资料不全,因此还希望熟 悉ORACLE的大侠能够不吝赐教。 当然,我会马上去试CPP的方法的(毕竟不能一棵树上吊死)。 等我成功了,马上给大侠加分!
C CJ Unregistered / Unconfirmed GUEST, unregistred user! 1999-06-21 #6 no one want to answer this quession? pls end it.