读书人

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

发布时间: 2012-03-14 12:01:12 作者: rapoo

时间一到自动更新
有一个用户表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也比较安全 呵呵。可以写成事务。
我们每天都是这么弄的!

读书人网 >SQL Server

热点推荐