日期:2014-05-19  浏览次数:20489 次

SQL 定时計算
假設我需要我的sql服務器每隔6個小時就對employee表的engae列更新一次.更新公式是engae=uid*oth   .請問如何編寫這個功能.     請幫忙用代碼實現.不要用Management   server   agent中的Job實現.

------解决方案--------------------
1
自己在前台写个定时器:每六个小时执行一次更新
update a set engae=uid*oth
from employee a

2
如果employee 经常有数据更新那么就把你的更新语句放到触发器里面去:
比如:
create trigger Tr_UpdateEmployee on employee
for update
as
declare @dt int
set @dt =0 --这里你可以设置是什么时候来执行,0为6的整数倍
if (datepart(hh,getdate()) + @dt)%6=0
begin
update a set engae=uid*oth
from employee a
end
else
begin
update a set engae=uid*oth
from employee a
end