检查存储过程中的时间

时间:2010-12-14 15:42:30

标签: sql-server-2005 stored-procedures

我有一个存储过程需要花费大量时间来执行。我们希望它在夜间执行,但它必须时不时地检查当前时间,并且在给定时间它必须停止执行。我怎么做?请提供我可以在我的存储过程中使用的代码。我们正在使用Microsoft SQL Server 2005。

3 个答案:

答案 0 :(得分:1)

您可以获取当前日期:

SELECT GETDATE()

停止执行:

If @date > GETDATE()
    RETURN --Exits procedure

其中@date是您想要停止执行的日期/时间

答案 1 :(得分:0)

创建维护计划并为其启动sprecify。在此计划中创建“执行T-SQL语句任务”并为其指定执行超时(以秒为单位)。

答案 2 :(得分:0)

为什么你想要存在一个未完成的过程?对于数据完整性或者回滚你刚刚完成的所有工作,难道不会让事情处于糟糕状态吗?

尝试改善proc的性能不是更好的解决方案吗?