我有一種情況,在每分鐘需要從SQL Server處理大約200條記錄來處理它並更新狀態字段爲1成功和不變/ 0爲200記錄失敗,然後寫回到DB。在這種情況下,我應該通過.net方法對數據表進行更改,然後在循環結束時根據處理狀態調用更新方法。數據集更新與SQL查詢
或者我應該去製作這樣
String sql = "update customer set status = 1 where id in ("
while records in dataset
sql = sql + dataset.getId + ","
end while
and the execute sql;
循環哪種方法更有效的直接的方法?我真正想知道的是,如果我只對dataTable中的一列進行更改並更新,那麼在後端將如何執行該查詢?它是每行只有一個sql或多個?如果它的倍數那麼我應該通過舊的SQL方法還是有其他一些建議的方法。
究竟你的過程是什麼意思?如果這是對數據的更改,並且您將更改寫回數據庫,則可能需要考慮觸發器。 – Raj
@Raj過程是別的。我沒有改變任何其他列。只是假設我想根據通過連接到其他服務器獲取的細節來檢查某些內容,並且如果成功,我將不得不在狀態列中用1更新該行。否則不會改變。 –
您的第二個方法將會高效,因爲它將作爲單個查詢來執行。但是yourDataAdapter.Update(datatable)將一次執行單個行,因此會執行200個查詢(最差情況)。 但嘗試有一些更好的解決方案,就像我在存儲過程中的數據庫級別所做的那樣。 – Kash