2014-03-28 61 views
0

我在MSSQL UPDATE语句更新多行。我想知道哪一行是第一个更新的行。哪一行首先更新?


详情:

我有别人写的一个触发的烦恼。它不会进行一行。触发器被UPDATE触发到所有行(〜30k),不包括那些之前已经成功更新的行。有问题的行现在是下一个应该更新的行。我需要以某种方式找到该行。有什么方法吗?

我读了几篇文章,如何模仿UPDATEORDER BY,它并没有为我工作。

回答

2

SQL是一套语言。没有“第一”,“先前”或“下一个”的概念。所有行都会同时更新。

+0

这似乎是同时进行。它应该是。但是,这在物理上是不可能的。 触发馈送一个web服务,这节省了数据到另一个系统。所有数据暂时不会出现在第二个系统中。另一个系统中的行号逐渐增加。我不得不等待很长时间的错误行才能轮到。现在,这是下一个要去的地方。但由于这些概念正如你所说的那样;这可能不是正确的路要走。 – jcjr

+0

“触发饲料webservice的”一切之后是静音。来自触发器的网络服务调用是人们可以犯的绝对严重的错误。低效(会减慢操作,因为他们必须等待缓慢的HTTP响应),高不可用内置(HTTP故障导致DML失败),而最重要的是,可能会出现不正确的(回滚*长*后触发完成,但HTTP呼叫不能撤消)。 –