再问 CacheUpdate, 修改记录变成了加新记录再删老记录(100分)

  • 主题发起人 主题发起人 天梦
  • 开始时间 开始时间

天梦

Unregistered / Unconfirmed
GUEST, unregistred user!
以前用D4尝试对Foxpro表进行CacheUpdate,结果不成功,
现在改用D5了, 再次尝试后发现可以工作了,但是打开数据库发现:
对记录的修改是这样操作的: 加入一条新记录再删除老记录,
这样的话, 每次修改,数据库中就会多一条删除的记录,浪费空间,
而且如果发生错误, 新记录加进去了,但老记录却没删掉, 会造成
同一个关键字有两条记录, 数据库正确性遭到破坏.

我想知道:
是不是CacheUpdate就是这种操作方式? 我试的是Foxpro表, SQL表
是否也这样?
 
没有人知道吗
 
只有 DBF表是这样的,换SQL吧。
也可以在删除记录后把DBF表Pack一下.
 
可以肯定sql server也是这样做的,
你去看它的update触发器
 
g622:

怎么看?
 
在触发器里引用inserted和deleted表,看一看
 
>>每次修改,数据库中就会多一条删除的记录,浪费空间,
而且如果发生错误, 新记录加进去了,但老记录却没删掉, 会造成
同一个关键字有两条记录, 数据库正确性遭到破坏.

不会浪费空间,也不会老记录却没删掉。
大部分的修改操作都是这样。
>>会造成同一个关键字有两条记录。怎么可能?!
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
867
DelphiTeacher的专栏
D
D
回复
0
查看
836
DelphiTeacher的专栏
D
D
回复
0
查看
785
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部