首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

时间一到自动更新,该如何处理

2012-03-14 
时间一到自动更新有一个用户表A,根据用户注册时间一到24小时就把用户信息提交到用户表B,我想到用作业定期

时间一到自动更新
有一个用户表A,根据用户注册时间一到24小时就把用户信息提交到用户表B,我想到用作业定期时间去数据表中轮询,但是每次轮询时间间隔又不能太短,那就造成有用户信息不能及时提交各位又没有解决的办法啊。
是不是触发器能解决呢?

[解决办法]
用JOB应该没什么问题,JOB执行的最小粒度是一分钟一次。
[解决办法]
DTS 应该可以解决
[解决办法]
用DTS
[解决办法]
job可以解決
[解决办法]
根據你說的,我認為觸發器要好一點,如果job設定每分鐘執行一次的話,太頻繁了,會拖死
服務器,如果job設定時間長些執行的話,又不能及時更新表.

[解决办法]
create trigger tri_insert on A
after insert
as
if exists(select 1 from A where datediff(dd,注冊時間,getdate())> =24)
begin
insert into B
select * from A
where datediff(dd,注冊時間,getdate())> =24

delete A
wheredatediff(dd,注冊時間,getdate())> =24
end

[解决办法]
根据楼主的意思,用触发器就可以解决啦,不必用到job
当数据表a更新时,就触发更新到数据表b中
[解决办法]
楼上的方法好象不行,如果插入一条记录后48小时之内都没有新记录插入的话,就不会触发。
个人认为还是要用作业。
[解决办法]
大家說得對,考慮不周全
[解决办法]
看下魚兄等高人有沒有好的辦法
[解决办法]
用JOB是最好的啦,1分钟一次,我想你也没那么大的量,执行一次不会超过一分钟吧
对于“那就造成有用户信息不能及时提交”不太明白,已经精确到分钟了,难道要精确到毫秒吗,应该不至于吧
对于性能的话,储存过程比触发器要好

[解决办法]
触发器不行的,最好是在用户注册时,同时产生一个JOB,让其24小时执行一次

如果对时间要求不是很强,可以写出个JOB每隔一定时间检查,把超过注册24小时的用户放到B表中去
[解决办法]
用户注册时间一到24小时

看你这个如果每格一个小时执行一次Job就好,你还可以把注册时间24小时改为23小时
这样多几分钟和少几分钟别人也不会太在意

如果你用触发器,老实说触发器并不好控制的,在真的开发中触发器还是少用为好,
你要的功能Job完全能做到

至于用DTS,那可真是大才小用了,完全不值得
[解决办法]
JOB也比较安全 呵呵。可以写成事务。
我们每天都是这么弄的!

热点排行