【问题标题】:MSSQL repeat a procedureMSSQL 重复一个过程
【发布时间】:2014-06-05 17:37:03
【问题描述】:

我希望每秒重复一次程序。在我的站点中,有倒计时的计时器,当时间到 0 时,应该调用一个过程。所以我想用每个计时器的结束时间创建一个表。每秒都会调用一个过程来检查当前时间是否等于计时器的结束时间。如果是这样,将调用另一个过程。

我应该在工作中这样做吗?作业的问题在于它们不能每秒重复一次,而只能每十秒重复一次。我想创建十个工作,每个工作十秒钟后重复一次,但我不知道这是否是一个好的解决方案。

那我该怎么做呢?

【问题讨论】:

  • 你在做什么需要安排一个 SP 每秒运行一次?
  • 比如说一个游戏,当计时器结束时,应该会发生一些事情。当你攻击某人时,它应该立即发生。
  • 我不是游戏开发者,但如果攻击的结果将取决于查询结果,我看不出这将如何很好地扩展。
  • 除了在服务器上做所有事情之外,还有其他方法吗?

标签: sql sql-server stored-procedures jobs


【解决方案1】:

您可以使用包装存储过程来调用您的每秒过程。使用Waitfor command 在两次通话之间延迟 1 秒。

例如

WHILE 1=1
BEGIN
    WAITFOR DELAY '00:00:01'
    EXECUTE sp_helpdb
END

我会质疑你是否希望每秒运行一个 proc——这通常表明设计不佳。更一般地问自己,我需要完成什么?

【讨论】:

  • 它有什么作用?不是阻塞其他程序还是并行运行?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-25
  • 1970-01-01
  • 2019-02-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多