首页 新闻 会员 周边 捐助

oralce数据比对

0
悬赏园豆:50 [待解决问题]

数据库中有表A和B
表A:
序号  名称    用法    比例1    比例2  版本号
1        A             a             1             2         空
1        A             B             1             2          空
2        B              c             1             3          空
3         D            d              1            4           空

表B存放的是比较的结果  表结构和表A一样并且表B里的数据默认为空(只会空一次)
比较逻辑1.:
1.如果表B里的数据为空,那么将表A里的数据全部插入到表B 并且自动生成一个标识(从1开始逐一递增 并且最大版本号+1),需要注意的是只有当序号不同,名称用法比例1比例2都完全一样才使用最大版本+1的方式
如图:
序号  名称    用法    比例1    比例2   版本号
1        A             a             1             2       V0001
1        A             B             1             2       V0001
2        B              c             1             3      V0001
3         D            d              1            4      V0001
2.如果表A里的数据在同一序号下,名称,用法,比例1,比例2完全一样那么将表B里的版本号回填给A
例如:
如果表B里已经存在与表A一样的数据那么 表B中的版本号就回填给表A结果如下
表B
序号  名称    用法    比例1    比例2  版本号
1        A             a             1             2         空
1        A             B             1             2          空
2        B              c             1             3          空
3         D            d              1            4           空
表B存放的是比较的结果  表结构和表A一样并且表B里的数据默认为空(只会空一次)
依次类推
提示:使用minus  逐一比较

欣风萧萧的主页 欣风萧萧 | 初学一级 | 园豆:107
提问于:2011-10-02 10:16
< >
分享
所有回答(1)
0

你这个是要用数据库 实现 版本控制

A表 按照 group by [名称]

也就是说 按照 [名称]分组

 

如果你的  名称唯一的话

A 表 每组取版本号最大的 那个值

这是第一次过滤  你可以建立个视图VA  过滤 A表中 最新版本号的数据

第二部

  VA 与 B join 一个  最新版本号的 表UB

  VA 与 B join 一个 A 需要更新的 表UA

 clear B 表  insert UB 到 B 表

 UA 与 VA join  更新 到A 表

法天贵真 | 园豆:645 (小虾三级) | 2011-10-13 16:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册