2011-06-03 45 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

相關問題