2011-06-03 44 views

回答

2

您应该使用SQLAgent或某个调度程序每15分钟运行一次该过程。
存储过程是一个事务。你不想让一个过程循环/等待。

是否有你不想使用触发器的原因?

1

在我看来,这对存储过程并不是真正的工作。这听起来更像SQL代理。

也就是说,你可以运行一个存储过程,使用WHILE循环以及WAITFOR并且应该做你正在做的事情。

WHILE (1=1) 
BEGIN 
    -- Check your table, etc. 

    WAITFOR DELAY '00:15:00.000' 
END 

的UPDATE/INSERT触发器也可用于这一点,那么你不必担心任何事情不断磨合和潜在的失败。

+1

在我看来,在存储过程中使用无限循环延迟是一个特别糟糕的想法.... – Matthew 2011-06-03 16:43:42

+0

我同意。该代码是完整的,不是因为我实际上建议它:) – 2011-06-03 16:44:57

+0

@Matthew为什么这是一个这么糟糕的主意?这仅仅是意外情况还是会是资源密集型的? – 2011-06-03 16:54:56

相关问题