WAITFOR
指定觸發語句塊、存儲過程或事務執行的時間、時間間隔或事件。
語法
WAITFOR { DELAY 'time' | TIME 'time' }
參數
DELAY
指示 Microsoft® SQL Server™ 一直等到指定的時間過去,最長可達 24 小時。
'time'
要等待的時間。可以按 datetime 數據可接受的格式指定 time,也可以用局部變量指定此參數。不能指定日期。因此,在 datetime 值中不允許有日期部分。
TIME
指示 SQL Server 等待到指定時間。
註釋
執行 WAITFOR 語句後,在到達指定的時間之前或指定的事件出現之前,將無法使用與 SQL Server 的連接。
若要查看活動的進程和正在等待的進程,請使用 sp_who。
例1:在sql語句中想要延遲10秒執行
WAIFOR DELAY 00:00:10 --hh:mi:ss hh:小時 mi:分鐘 ss:秒
SELECT '需要執行的操作' --可以執行 存儲過程、函數、update、insert、delete 語句
例2:在某個時間點執行
WAITFOR TIME 00:30:00
SELECT '在0點30分執行的操作' --可以執行 存儲過程、函數、update、insert、delete 語句
例3:每隔10分鐘執行一次操作
while(1=1)
begin
WAITFOR DELAY '0:0:3'
select '每隔10分鐘執行一次' --可以執行 存儲過程、函數、update、insert、delete 語句
end
注意:例3 的SELECT 內容不會顯示出來,但是是執行的。