SQL中有没有类似sleep的延时函数
1个回答
展开全部
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 语句
waitfor delay '01:02:03'
select * from employee
--例 等到晚上11 点零8 分后才执行SELECT 语句
waitfor time '23:08:00'
select * from employee
语法: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 语句
waitfor delay '01:02:03'
select * from employee
--例 等到晚上11 点零8 分后才执行SELECT 语句
waitfor time '23:08:00'
select * from employee
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询