现有两个表A和B,结构相同,可以称为子表A和总表B。我现在需要将子表A中的所有数据按照编号(关键字段)从总表B中取得相应数据对子表A进行更新。我的想法是:
遍历子表A开始
按编号从总表B中取相应数据
UPDATE 子表A
子表A指针移动
遍历子表A结束
但是实际上这段代码有问题,因为在UPDATE 子表A的时候,子表A的记录指针就变化了,所以遍历顺序也就错了。
请问各位有什么高招吗?
注意:
1、只能对照子表A按编号去总表B中查找数据,而且子表A的记录数远远少于总表B的记录数。
2、有朋友曾建议用book来标记每次UPDATE前的记录指针位置,我觉得那样不太方便。
遍历子表A开始
按编号从总表B中取相应数据
UPDATE 子表A
子表A指针移动
遍历子表A结束
但是实际上这段代码有问题,因为在UPDATE 子表A的时候,子表A的记录指针就变化了,所以遍历顺序也就错了。
请问各位有什么高招吗?
注意:
1、只能对照子表A按编号去总表B中查找数据,而且子表A的记录数远远少于总表B的记录数。
2、有朋友曾建议用book来标记每次UPDATE前的记录指针位置,我觉得那样不太方便。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
这样不行吗....
dsA用于遍历A表,
dsB用于动态获取B表符合条件的记录,
updateA用于更新A表,可以用动态生成SQL语句的方法来更新
update A set A.要更新的字段=B.对应的字段 where A.id=B.id
来更新的代码贴出来看看.....
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
我试过了D6+Access通过了....
set score=b.score
From a a ,b b
where a.id=b.id