Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何像java中的侦听器那样在tsql sql server中调用作业_Sql_Sql Server_Tsql - Fatal编程技术网

如何像java中的侦听器那样在tsql sql server中调用作业

如何像java中的侦听器那样在tsql sql server中调用作业,sql,sql-server,tsql,Sql,Sql Server,Tsql,我想实现下面的设计 数据将进入源表-source_选项卡,我要调用3个过程来处理这些可用数据。我现在手动调用每个过程 是否有任何方法可以创建一个作业,该作业将在source_选项卡中有新数据可用时立即调用,并通过依次调用这3个过程来开始处理数据。此外,在当前执行完成之前,不应触发下一个作业周期。这应该与Java侦听器的行为相同。 我不想使用触发器 我同意建议MSMQ的评论。如果您不想使用触发器,一个肮脏的方法是在低间隔计划上设置作业 它可以检查该表,如果存在新数据,则转到第一步执行并从中流出,如

我想实现下面的设计

数据将进入源表-source_选项卡,我要调用3个过程来处理这些可用数据。我现在手动调用每个过程

是否有任何方法可以创建一个作业,该作业将在source_选项卡中有新数据可用时立即调用,并通过依次调用这3个过程来开始处理数据。此外,在当前执行完成之前,不应触发下一个作业周期。这应该与Java侦听器的行为相同。
我不想使用触发器

我同意建议MSMQ的评论。如果您不想使用触发器,一个肮脏的方法是在低间隔计划上设置作业

它可以检查该表,如果存在新数据,则转到第一步执行并从中流出,如果不存在,则不执行任何操作

如何确定什么是“新”数据取决于数据。如果您有dateadded列或类似的内容,就很容易了。如果没有,那么您可能需要有一个额外的作业步骤来将表按现在的状态写入临时表,然后在下一次运行时将此版本与下一个版本进行比较


正如我所说,这不是一个好办法,而是一个选择。

您可能需要查看消息队列(MSMQ)。