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

求SQL语句,在SQL Server代理的作业里写的。
我现在要完成一个调度,

更新一个表中的数据,条件很复杂,

而且更新过后,需要在另一个表里记录我都更新了什么数据。这样的sql语句怎么写?


假如,我更新用户表里的用户状态(3个月没有登陆的,我把字段[state]更新为2),然后,我要在另外一个表(userstatehistory)里,记录每个用户的状态变更记录。
记录字段:用户id,用户状态,修改时间等。

------解决方案--------------------
用觸發器處理
------解决方案--------------------
也可以在JOB中实现
就是手动写SQL就可以.
把要处理的字段[state]更新的记录insert到状态变更记录
然后UPDATE
然后定时执行这个Job就行
------解决方案--------------------
触发器,怎么不爽?


-------------------
create trigger tri_update on t
after update
as
begin
insert into userstatehistory(用户id,用户状态,修改时间)
select 用户id,用户状态,修改时间 from deleted

end
------解决方案--------------------
容易楼上的,用DTS也可以,在执行时最好加个事务,保持两个操作同步