sqlserver waitfor time 延迟函数的用法

本文深入探讨了SQL中的定时执行语句WaitFor及其使用方法,包括Delay和Time参数的应用实例。同时介绍了并发锁机制,特别是dbms_lock.sleep(n)函数的作用,以及如何在存储过程中实现定时执行和并发控制。重点讲解了如何通过Grant语句赋予特定用户对dbms_lock包的执行权限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SQL有定时执行的语句 WaitFor,可以写到一个存储过程中再执行一次
语法:WaitFor{Delay 'time'|Time 'time}
Delay后面的时间为延迟多少时间执行
Time后面的时间为指定何时执行,格式为"HH:MM:SS",不支持日期
例:
------指定10:00执行
Begin
waitfor time '10:00'
select * from tablename
end
-----指定等待1小时后执行
begin
waitfor delay '1:00'
select * from tablename
end
dbms_lock.sleep(n)暂停n秒后执行
一般这个包都会创建,但是权限不是默认就赋予的;还有一个重要的步骤是要给用户all on dbms_lock 权限。。
在DBA身分下
grant execute on dbms_lock to USERNAME;
放到存贮过程里



1.WAITFOR

--WAITFOR

--例等待1小时2分零3秒后才执行SELECT语句

waitfordelay'01:02:03'

select*fromemployee

--例等到晚上11点零8分后才执行SELECT语句

waitfortime'23:08:00'

select*fromemployee


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值