求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也可以,在执行时最好加个事务,保持两个操作同步