2014-03-28 111 views
0

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


詳情:

我有別人寫的一個觸發的煩惱。它不會進行一行。觸發器被UPDATE觸發到所有行(〜30k),不包括那些之前已經成功更新的行。有問題的行現在是下一個應該更新的行。我需要以某種方式找到該行。有什麼方法嗎?

我讀了幾篇文章,如何模仿UPDATEORDER BY,它並沒有爲我工作。

回答

2

SQL是一套語言。沒有「第一」,「先前」或「下一個」的概念。所有行都會同時更新。

+0

這似乎是同時進行。它應該是。但是,這在物理上是不可能的。 觸發饋送一個web服務,這節省了數據到另一個系統。所有數據暫時不會出現在第二個系統中。另一個系統中的行號逐漸增加。我不得不等待很長時間的錯誤行才能輪到。現在,這是下一個要去的地方。但由於這些概念正如你所說的那樣;這可能不是正確的路要走。 – jcjr

+0

「觸發飼料webservice的」一切之後是靜音。來自觸發器的網絡服務調用是人們可以犯的絕對嚴重的錯誤。低效(會減慢操作,因爲他們必須等待緩慢的HTTP響應),高不可用內置(HTTP故障導致DML失敗),而最重要的是,可能會出現不正確的(回滾*長*後觸發完成,但HTTP呼叫不能撤消)。 –