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 内容不会显示出来,但是是执行的。