據我所知,如果一批命令中的語句失敗,我們使用SqlTransaction來啓用回滾。我的問題是,是否有必要在檢索數據時使用SqlTransaction /使用select語句?TSQL/.NET - 在檢索數據時是否應該使用SqlTransaction?
1
A
回答
3
不,這不是必需的。每個Sql語句都有一個隱式事務。但是,如果默認事務不是最優的 - 比如Read Uncommitted會更好 - 或者如果您有多個讀取並且您希望數據保持一致 - 比如單獨的對於摘要和細節的聲明以及您想要的要彙總的細節。
1
不,不需要這樣做。僅當您想從插入/更新/刪除操作中的錯誤中恢復時才需要事務。如果你看不懂東西,運氣不好,但數據完整性不會受到影響。
相關問題
- 1. 該查詢是否正確地從數據庫檢索數據?
- 2. 如何檢查Hibernate是否在加載數據時使用數據庫索引
- 3. 檢查是否檢索到數據 - CRM
- 4. mongodb是否應該根據索引插入數據?
- 5. 我應該使用JSON檢索數據庫記錄嗎?
- 6. 是否可以從設置應用程序檢索數據?
- 7. 是否可以使用Oledb從數據庫檢索整數值?
- 8. 該函數是否應該(「isEmpty」)檢查對象是否沒有參數?
- 9. 何時檢查是否應該允許帳戶使用Web應用程序?
- 10. curl是否從REST API檢索數據?
- 11. 確定SqlTransaction是否寫入數據或只讀
- 12. 從表中檢索數據並使用該數據登錄
- 13. 我們是否應該在執行超時時使用Thread.sleep()?
- 14. 使用sqltransaction插入表時選擇數據
- 15. 是否有可能使用jQuery從SQL Server檢索數據?
- 16. 是否可以使用LDAP從Office365檢索數據 - Exchange Online/Azure?
- 17. 是否可以使用API檢索paystub數據?
- 18. 使用Python檢索時的MySQL數據
- 19. 我們是否應該使用相同的綁定進行加載和檢索數據?
- 20. 在進行DDD時,是否應該在POCO類上使用DI?
- 21. 檢查是否存在並檢索其他數據
- 22. 在用戶輸入時檢索數據
- 23. 一個JSON調用應該檢索多少數據?
- 24. 什麼時候應該將索引應用於數據庫?
- 25. 根據應用程序是否第一次運行檢索正確的數據
- 26. 是否可以使用客戶端代碼檢索數據庫數據?
- 27. 使用WebRequest檢索數據
- 28. 使用GeoQuery檢索數據
- 29. 使用jquery檢索數據
- 30. 如何檢查數據庫是否存在,該數據庫的用戶有權連接該數據庫 - Laravel
您能詳細闡述一下使用事務來保證返回的數據是一致的嗎?即交易如何在需要返回2個結果集並且彙總 - 總結和詳細信息必須匹配的情況下提供幫助? – Icarus
如果有其他用戶連接到數據庫,則可能其中一個用戶正在更改您正在閱讀的實例所讀取的數據。如果有兩個命令,例如'Select Sum(BalanceDue)From Invoice Where CustomerId = 414',後面跟着'Select * From Invoice Where CustomerId = 414'並且您不希望另一個用戶的交易改變這兩個命令之間的值。當然,這是通過在該記錄上放置一個會影響性能的讀鎖來實現的。 – DevDelivery
我不同意「不,這是沒有必要的」。根據您在評論中給出的原因,您可能需要根據所需的一致性進行調整。 – Joe