SQL Server 2008中SQL之WaitFor使用介绍_mssql2008

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

语法为:

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语句。
邀月注:本文版权由邀月和博客园共同所有,转载请注明出处。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索WaitFor
mssqlserver2008下载、mssqlserver2008 r2、mssqlserver2008、mssqlserver2008安装、mssqlserver.jar 2008,以便于您获取更多的相关知识。

时间: 2024-09-20 00:47:56

SQL Server 2008中SQL之WaitFor使用介绍_mssql2008的相关文章

sql server 2008中的apply运算符使用方法_mssql2008

Apply运算符可以实现两个查询结果的全组合结果,又称为交叉集合.例如两个数据组合(A,B).(A,B),他们的交叉集合为(AA,AB,AA,AB). Apply分为Cross Apply和Outer Apply两种使用方式.具体分析如下: 首先先建立两个表StudentList和ScoreInfo.脚本语言如下: 复制代码 代码如下: create table StudentList(id int Identity(1,1) not null,Name nvarchar(20) not nul

SQL Server 2008中的数据压缩功能

SQL Server 2005 SP2为我们带来了vardecimal功能,这项功能使得原来定长的decimal数据在数据文件中以可变长的格式存储,据称这项功能可以为典型的数据仓库节省30%的空间,而SQL Server 2008在这一基础上又进一步增强了数据压缩功能.SQL Server 2008现在支持行压缩和页面压缩两种选项,数据压缩选项可以在以下对象上启用: 未创建聚簇索引的表 创建聚簇索引的表 非聚簇索引(对表设置压缩选项不会影响到该表上的非聚簇索引,因此聚簇索引的压缩需要单独设置)

SQL Server 2008中多实例的评估和执行策略

问题提出 了解了SQL Server 2008中的管理策略之后,我们想在SQL Server 2008以及SQL Server 2005中的多实例上执行这些策略.请就如何实现给出详细的解答,谢谢. 专家解答 SQL Server 2008中,当一个实例被创建后,就可以对之进行评估.但数据库管理员需要做一项非常繁琐的工作:SQL Server中所管理的每一个实例都需要逐个执行这些策略.数据库管理员做的最多的工作应该是在产品正式运行前的测试环境中不断地改变执行的策略.然而很多人都并不想逐个逐个的导入

SQL Server 2008中不推荐及不支持的功能

每个人都在等着Microsoft SQL Server 2008的新功能出现,不过我们首先应该知道有哪些"不 推荐(deprecated)"以及"不支持(Discontinued)"的功能."不推荐"的 功能是指那些在旧版SQL Server中出现,但是将会在SQL Server的未来版本中不再推荐使用的功能,并且 在今后的版本中将会去除这些功能."不支持"的功能是指那些不会在SQL Server 2008中出 现的功能.在迁

SQL Server 2008中的联机事务处理

导言 在过去的20年数据库得到了普遍使用,并迅速发展.存储和技术成本的降低导致大量地存储数据和数据库的急剧扩大.由于这个简单有效的技术,内嵌的数据库和许多产品应运而生,并使得公司可以存储更多的数据,并保持更久的时间,所以公司想合并他们的服务器. SQL Server 2008专注于四个关键领域来满足现今的OLTP数据库需求: · 可扩展性和性能.SQL Server 2008使得公司可以建立具有现今的应用程序所要求的性能和扩展能力的数据库解决方案. · 高有效性.SQL Server 2008提

SQL Server 2008中有关XML的新功能

1 导言 Microsoft 在Microsoft SQL Server 2000中推出了与XML相关的功能以及Transact-SQL 关键字FOR XML和OPENXML ,这使得开发人员可以编写Transact-SQL代码来获取XML流形式的查询结果,并将一个XML 文档分割成一个rowset.SQL Server 2005显著的扩展了这些XML功能,推出了一个支持XSD schema验证. 基于XQuery的操作和XML索引的本地的xml 数据类型.SQL Server 2008建立在之

在SQL Server 2008中使用空间数据实现位置智能

1. 导言 现今的信息工作人员和消费者处理大量不同类型的信息,从电子表格和数据库中的商业数据的传统数 据表,到在线的基于媒体的数据例如视频.照片和音乐.近来朝向mash up解决方案(mash up解决方案是 指合并从多个来源获得的信息和内容来创建通用的在线应用程序)发展的趋势表明计算机用户使用高度集 成的解决方案来利用它们可用的大量信息. 同时,技术优势导致地理服务和设备的发展,包括在线绘制地图解决方案,例如Microsoft Virtual Earth,和较便宜的全球定位系统(GPS)解决方

PowerShell在SQL Server 2008中一些用法

PowerShell早在SQL Server 2005里就已经被集成了, 而我第一次用却在SQL Server 2008中.今天有 空总结几个实际例子出来.欢迎这方面专家来完善一下: 一.先不用SqlServerCmdletSnapin100这个SnapIn来写几个操作常用数据的脚本 1. 由于有读者问如何用PowerShell显示数据库中表,以下是一个简单函数供参考 #============================================== # SQL Server 200

SQL Server 2008中新的日期时间数据类型

SQL Server 2008 终于发布新版了,虽然还只是另一个社区测试版而非完全版.每当新软件发布,大 家最关系的问得最多的问题就是:有些什么新特性?SQL Server 2008有很多新功能和新工具.不过,本文 还是主要为大家介绍SQL Server 2008七月预览版引入的新数据类型,并对DATETIME数据类型的功能进行 专门讨论. SQL Server 2008中DATETIME功能的最大转变就是引入了四种DATETIME数据类型,分别为 DATE.TIME.DATETIMEOFFSE