建个触发器就可以: create trigger dbo.trigger_Employeees_update on Employeees for update asif UPDATE(Base_wage) or UPDATE(Bonus) or UPDATE(pro_parts) update Wages set Base_wage = i.Base_wage, Bonus = i.Bonus , pro_parts = i.pro_parts from inserted i where wages.emp_id = i.Emp_Idgo
参考.begin tran update Employeees set Base_wage=..., Bonus=..., pro_parts=... where ... update Wages set Base_wage=..., Bonus=..., pro_parts=... where ...
commit tran
事务,触发器都可以完成任务,也可以写一个任务,定期完成二者的一致更新 最经济的方法是事务,在前端调用时候即可实现 建立一个JOB任务,定期执行一个个双表更新SQL语句: update a set a.Base_wage=b.Base_wage from Employeees a inner join Wages b on a.emp_id=b.emp_id 然后每过一个时间周期运行一次,比如1分钟运行一次从而完成同步
create trigger dbo.trigger_Employeees_update
on Employeees
for update
asif UPDATE(Base_wage) or UPDATE(Bonus) or UPDATE(pro_parts)
update Wages
set Base_wage = i.Base_wage,
Bonus = i.Bonus ,
pro_parts = i.pro_parts
from inserted i
where wages.emp_id = i.Emp_Idgo
这是级联删除的例子,级联更新的类似,你可以看联机丛书上的例子,因为你的表有外键关联,所以使用级联操作比用触发器更安全,更好,至于事务,把你的代码放到
begin tran
你的代码
end
中就可以了,还有try/catch之类的,不过可能对你来说还有点难
http://blog.csdn.net/dba_huangzj/article/details/8042999
这是级联删除的例子,级联更新的类似,你可以看联机丛书上的例子,因为你的表有外键关联,所以使用级联操作比用触发器更安全,更好,至于事务,把你的代码放到
begin tran
你的代码
end
中就可以了,还有try/catch之类的,不过可能对你来说还有点难
http://blog.csdn.net/dba_huangzj/article/details/8042999
看不懂····
set Base_wage=...,
Bonus=...,
pro_parts=...
where ... update Wages
set Base_wage=...,
Bonus=...,
pro_parts=...
where ...
commit tran
最经济的方法是事务,在前端调用时候即可实现
建立一个JOB任务,定期执行一个个双表更新SQL语句:
update a set a.Base_wage=b.Base_wage from
Employeees a inner join Wages b on a.emp_id=b.emp_id
然后每过一个时间周期运行一次,比如1分钟运行一次从而完成同步