日期:2014-05-18  浏览次数:20476 次

请教前辈SQL数据库如何保证两个表中的数据同步?
说明:我有两个表,见如下:

货币表:(主键:HBBM)
HBBM--货币编码
HBMC--货币名称
HBHL--汇率

客户表:(主键:KHBM)
KHBM--客户编码
KHMC--客户名称
HBBM--货币编码
HBHL--汇率

目前,已为两个的HBBM建了主外建。

请问怎样实现当修改货币表中某货币的汇率时,客户表中所有该货币的汇率也同时更新过来?

------解决方案--------------------
为什么要这样用,直接货币表里读不行么?客户表。汇率 有点浪费。
------解决方案--------------------
SQL code
create trigger tri_name on 货币表
for update
as
if udpate(HBHL)
   update 客户表 set HBHL=i.HBHL
   from inserted i
   where 客户表.货币编码=i.货币编码

------解决方案--------------------
1楼说的有道理 2楼的方法OK。
------解决方案--------------------
写一个触发器,如#2
------解决方案--------------------
同意一樓,你這樣設計表不符合規範。
------解决方案--------------------
如果货币表是比较小的表,那么客户表就不需要冗余汇率这个字段,以后客户表关联货币表就可以查询出汇率,也不会影响性能.
如果你一定要实现当修改货币表中某货币的汇率时,客户表中所有该货币的汇率也同时更新过来.可以考虑用数据库触发器,也可以考虑用应用前台的代码