Patan Patan - 1 month ago 13
SQL Question

Do we need to execute Commit statement after Update in SQL Server

I have done some update to my record through SQL Server Manager.

As Update statement is not having explicit commit, I am trying to write it manually.

Update mytable
set status=0;
Commit;


I am getting message as Commit has no begin transaction

Answer

The SQL Server Management Studio has implicit commit turned on, so all statements that are executed are implicitly commited.

This might be a scary thing if you come from an Oracle background where the default is to not not have commands commited automatically, but it's not that much of a problem.

If you still want to use ad-hoc transactions, you can always execute

BEGIN TRANSACTION

within SSMS, and than the system waits for you to commit the data.

If you want to replicate the Oracle behaviour, and start an implicit transaction, whenever some DML/DDL is issued, you can set the SET IMPLICIT_TRANSACTIONS checkbox in

Tools -> Options -> Query Execution -> SQL Server -> ANSI