我已經通過SQL Server Manager對我的記錄進行了一些更新。我們是否需要在SQL Server更新後執行Commit語句
由於Update語句沒有顯式提交,我正在嘗試手動編寫它。
Update mytable
set status=0;
Commit;
我得到消息提交已沒有開始交易不像甲骨文不需要
我已經通過SQL Server Manager對我的記錄進行了一些更新。我們是否需要在SQL Server更新後執行Commit語句
由於Update語句沒有顯式提交,我正在嘗試手動編寫它。
Update mytable
set status=0;
Commit;
我得到消息提交已沒有開始交易不像甲骨文不需要
SQL Server Management Studio已啓用隱式提交,因此所有執行的語句都是隱式提交的。
如果您來自Oracle背景,默認情況下不會有自動提交的命令,但這並不是什麼大問題,這可能是一件可怕的事情。
如果你仍然想使用點對點的交易,你可以隨時執行
BEGIN TRANSACTION
內SSMS
,比系統等待你提交的數據。
如果你想複製甲骨文的行爲,並啓動一個隱式事務,每當一些DML/DDL發出後,您可以在SET IMPLICIT_TRANSACTIONS複選框在
Tools -> Options -> Query Execution -> SQL Server -> ANSI
SQL Server的承諾,除非你正在使用的交易。
立即在更新語句後表將被提交,不要在這種情況下使用commit命令。
提交之前,您應該開始交易。 –
您應該打開一個交易。在它裏面你應該執行更新然後提交更改。 – lexeme
看看它是如何工作在這裏:http://www.codeproject.com/Articles/10223/Using-Transactions-in-ADO-NET – lexeme