SQL Server 2008中SQL之WaitFor使用介绍

2016-02-19 10:38 6 1 收藏

今天图老师小编给大家介绍下SQL Server 2008中SQL之WaitFor使用介绍,平时喜欢SQL Server 2008中SQL之WaitFor使用介绍的朋友赶紧收藏起来吧!记得点赞哦~

【 tulaoshi.com - 编程语言 】

看MSDN:
http://msdn.microsoft.com/zh-cn/library/ms187331.aspx

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

语法为:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)
WAITFOR 
{
DELAY 'time_to_pass'
| TIME 'time_to_execute'
| [ ( receive_statement ) | ( get_conversation_group_statement ) ]
[ , TIMEOUT timeout ]
}

以下示例在晚上 10:20 (22:20) 执行存储过程 sp_update_job
代码如下:

USE msdb;
EXECUTE sp_add_job @job_name = 'TestJob';
BEGIN
WAITFOR TIME '22:20';
EXECUTE sp_update_job @job_name = 'TestJob',
@new_name = 'UpdatedJob';
END;
GO

以下示例在两小时的延迟后执行存储过程。注意:Delay最多不超过24小时
代码如下:

BEGIN
WAITFOR DELAY '02:00';
EXECUTE sp_helpdb;
END;
GO

以下示例显示如何对 WAITFOR DELAY 选项使用局部变量。将创建一个存储过程,该过程将等待可变的时间段,然后将经过的小时、分钟和秒数信息返回给用户。
代码如下:

USE AdventureWorks2008R2;
GO
IF OBJECT_ID('dbo.TimeDelay_hh_mm_ss','P') IS NOT NULL
DROP PROCEDURE dbo.TimeDelay_hh_mm_ss;
GO
CREATE PROCEDURE dbo.TimeDelay_hh_mm_ss
(
@DelayLength char(8)= '00:00:00'
)
AS
DECLARE @ReturnInfo varchar(255)
IF ISDATE('2000-01-01 ' + @DelayLength + '.000') = 0
BEGIN
SELECT @ReturnInfo = 'Invalid time ' + @DelayLength
+ ',hh:mm:ss, submitted.';
-- This PRINT statement is for testing, not use in production.
PRINT @ReturnInfo
RETURN(1)
END
BEGIN
WAITFOR DELAY @DelayLength
SELECT @ReturnInfo = 'A total time of ' + @DelayLength + ',
hh:mm:ss, has elapsed! Your time is up.'
-- This PRINT statement is for testing, not use in production.
PRINT @ReturnInfo;
END;
GO
/* This statement executes the dbo.TimeDelay_hh_mm_ss procedure. */
EXEC TimeDelay_hh_mm_ss '00:00:10';
GO

执行结果:A total time of 00:00:10, in hh:mm:ss, has elapsed.Your time is up.小结:这是一种轻巧的解决方案。当你没有权限指定job时,可以考虑用WaitFor语句。
邀月注:本文版权由邀月和博客园共同所有,转载请注明出处。

来源:http://www.tulaoshi.com/n/20160219/1595292.html

延伸阅读
一、进入安装程序 插入SQL Server 2008 R2安装光盘,自动运行后出现“SQL Server安装中心”。 在这里我们在本机安装一个SQL Server默认实例,所以执行以下步骤: 1、在左侧的目录树中选择“安装”。 2、在右侧的选择项中,选择第1项目“全新安装或向现有安装添加功能”,然后就进入了安装程序。 ...
虽然SQL Server2005已经推出了约3年了,奇怪的是,很多公司仍然没有将SQL Server2000升级。现在这些公司面临着再次作出决定——是跳过升级到SQL Server 2005 还是直接到SQL Server 2008?要作出这个选择并不简单,本文主要讨论有关这一问题必须要考虑的事情。 升级到SQL Server 2005 没有太大的意义,SQL Server 2005是SQL Server的...
标签: SQLServer
order by常用的使用方式我就不提了 项目的需求千变万化 让我们看看下面几个怪排序需求 --先创建一个表 create table ai( id int not null, no varchar(10) not null ) go --往表中插入数据 insert into ai  select 105,'2'  union all  select 105,'1'  union all  select 103,'1'  union all ...
视图是一种常用的数据库对象,它将查询的结果以虚拟表的形式存储在数据中。因为视图有非常多的优点:1,可以简化操作,2,可以建立前台和后台的缓冲,3,可以合并分割数据,4,最重要的是可以提高安全性,因此在SQL中视图也占据着非常重要的地位。在这章的总结中,深刻体会到了,两种方法:1,企业管理器,2,T-SQL语句来管理视图,和四种操作...
标签: SQLServer
在应用系统中,尤其在联机事务处理系统中,对数据查询及处理速度已成为衡量应用系统成败的标准。而采用索引来加快数据处理速度也成为广大 数据库 用户所接受的优化方法。 在良好的数据库设计基础上,能有效地使用索引是SQL Server取得高性能的基础,SQL Server采用基于代价的优化模型,它对每一个提交的有关表的查询,决定是否使用索引或用哪一个...

经验教程

280

收藏

58
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部