我需要保持一个表与同一个递归CTE查询连接到多个表。 CTE可能会在每次运行时返回不同的结果(如果对其加入的表进行了任何更改)。 CTE速度很慢,我不能让触发器运行它,因为导致触发器触发的查询在触发器触发后才会返回(我不想简单更新单个记录15秒,因为它正在等待触发器完成)。有关如何在SSMS中实施解决方案的任何细节都会很好,但不是必需的。需要在同一个Sql Server数据库中同步一个表与一个查询(视图)
一种解决方案是让计划作业运行CTE,并将结果与表格合并。计划的作业可以每隔几秒运行一次,以便表格尽可能地保持最新。但我不知道如何在Sql Server 2005中创建预定作业,或者如何将CTE查询的结果与表格合并。
要重申我的问题:
如何保持桌面最新尽可能接近实时地使用CTE?
计划作业可以每分钟运行一次,而不是每隔几秒钟运行一次。我怀疑答案很可能涉及服务经纪人队列。如果表格返回过期数据,它有多重要?即如果该表尚未同步,是否应该阻止“选择”? – 2011-02-09 23:39:22
不需要。保持表格可选更好。这是很难的要求。至于不同步的时间......可能会有一两分钟不同步。 – 2011-02-10 00:05:05