Patan
Patan

Reputation: 17893

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

Upvotes: 27

Views: 198545

Answers (2)

SWeko
SWeko

Reputation: 30912

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 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

Upvotes: 60

Kristof
Kristof

Reputation: 3315

Sql server unlike oracle does not need commits unless you are using transactions.
Immediatly after your update statement the table will be commited, don't use the commit command in this scenario.

Upvotes: 6

Related Questions