【发布时间】:2020-06-27 05:05:11
【问题描述】:
我正在开发一个投标系统。
人们在出价时间开始和结束时出价。
是否可以使用查询创建 SQL 作业?
我想做的是,一旦投标时间结束, 我想更新每个投标人的记录,了解谁是赢家或输家。
所以,我的想法是,当管理员设置投标的开始日期和结束日期时,我想动态创建一个调度作业,该作业将自动运行存储过程,当日期为等于结束日期。
有可能吗?
我在想的另一种方法是,在投标页面上放置一个检查器,该检查器会不断检查数据库的投标时间,如果它检测到投标已经结束,它会自动执行一个更新每个用户记录的存储过程?我对这种方法感到害怕的是,如果许多用户正在访问该页面,许多用户现在会调用该存储过程。
非常感谢任何建议。
【问题讨论】:
-
您可以对 SQL 代理作业中的过程执行动态运行。我不确定 SQL 代理的动态运行能力
-
是的。可以使用 t-sql 创建 sql 作业。当管理员设置了投标的开始日期和结束日期时,为什么要创建计划作业。管理员设置出价日期时,是不是也可以执行存储过程?调度作业的目的是什么?
-
感谢您的回复。 @Avi 如果我运行设置一个每秒运行的 sql 作业会很糟糕吗?它将检查投标结束日期时间?如果日期等于结束日期时间。它将调用存储过程。
-
是的。这是坏的。你正在消耗资源。当管理员设置结束日期时,最好在同一进程中执行此操作
-
@Squirrel 感谢您的回复。我想要做的是,一旦投标时间结束,它会自动更新所有投标人记录。这就是为什么我计划动态创建调度作业的原因。对不起,如果它令人困惑
标签: sql sql-server