SQL Server 2008之WaitFor
在SQL Server 2005以上版本中,在一个增强的WaitFor命令,其作用可以和一个job相当。但使用更加简捷。
看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
。
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小时
WAITFOR DELAY '02:00';
EXECUTE sp_helpdb;
END;
GO
以下示例显示如何对 WAITFOR DELAY
选项使用局部变量。将创建一个存储过程,该过程将等待可变的时间段,然后将经过的小时、分钟和秒数信息返回给用户。
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语句。
【转】邀月工作室
SQL Server 2008之WaitFor相关推荐
- SQL Server 2008中SQL之WaitFor
SQL Server 2008中SQL应用系列--目录索引 在SQL Server 2005以上版本中,在一个增强的WaitFor命令,其作用可以和一个job相当.但使用更加简捷. 看MSDN: ht ...
- SQL Server 2008/2012中SQL应用系列及BI学习笔记系列--目录索引
SQL Server 2008中的一些特性总结及BI学习笔记系列,欢迎与邀月交流. 3w@live.cn ◆0.SQL应用系列 1.SQL Server 2008中SQL增强之一:Values新用途 ...
- Sql Server 2008 R2 清理内存的三种方法
公司最近上线一套系统,运行中发现,SQL Server 2008 R2运行越久,占用内存会越来越大,导致最后不得不重启Sql Server来解决,或者是因为Sql 2008本身内存回收机制做的不够好, ...
- SQL Server 2008中SQL应用系列及BI学习笔记系列--目录索引 @邀月
邀月 的数据库学习 http://www.cnblogs.com/downmoon/archive/2011/03/10/1980172.html SQL Server 2008中SQL应用系列及BI ...
- PowerShell 2.0 实践(十二)管理 SQL Server 2008 R2(1)
DBA可以使用的工具很多,对于SQL Server来说,有查询分析器.事件探查器.命令行工具等,其中SQL语句是重中之重,但是PowerShell的出现使得DBA又多了一种选择. 测试脚本下载 本系列 ...
- sql server 2008连接oracle操作步骤详细记录,SQLServer连接Oracle详细步骤
我们知道SQL Server和Oracle其实很多原理都类似.特别是一些常用的SQL语句都是按照标准来.所以它们也可以有一定的互操作性的.这里 我们知道SQL Server和Oracle其实很多原理都 ...
- [转]实战 SQL Server 2008 数据库误删除数据的恢复
实战 SQL Server 2008 数据库误删除数据的恢复 关键字:SQL Server 2008, recover deleted records 今天有个朋友很着急地打电话给我,他用delete ...
- 基于Sql Server 2008的分布式数据库的实践(一)
原文 基于Sql Server 2008的分布式数据库的实践(一) 配置Sql Server 2008(Win7) 1.打开SQL server2012,使用windows身份登录 2.登录后,右键选 ...
- 在SQL Server 2008中配置文件流(FILESTREAM)
SQL Server 2008推出了一个新的特性叫做文件流(FILESTREAM),它使得基于SQL Server的应用程序可以在文件系统中存储非结构化的数据,例如文档.图片.音频.视频等等.文件流主 ...
最新文章
- mysql的判断更新_mysql判断记录是否存在,存在则更新,不存在则插入
- iOS唯一标示符引导
- matlab生成wav文件并用python验证
- home目录迁移至新分区
- 百度的一个Ajax跨域方法 JavaScript是没有域的限制
- pyecharts第九节、旭日图(现代饼图)
- vue中设置height:100%无效的问题及解决方法
- 比较=、==、===
- 查看matlab当前路径,MATLAB R2012a 的当前路径和路径搜索
- Android Layout标签之-viewStub,requestFocus,merge,include
- 3D点云数据标注工具推荐
- Teamview使用方法说明
- 微信小程序打开文档功能
- 未能成功加载扩展程序_该扩展程序未列在 Chrome 网上应用店中,并可能是在您不知情的情况下添加的解决办法...
- TCO14, I bought a watch last year
- java矩形面积_Java编程求矩形的面积
- 软件工程基础知识 二
- 使用 vscode 编辑html后缀但包含jsp、django、erb、php模板标签时,配置实现正确格式化文档
- 深恶痛绝……残忍虐杀何时终止?
- 混合正弦余弦算法和Lévy飞行的麻雀算法