Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como você define o autocommit em uma sessão do SQL Server?


Você pode ativar o autocommit definindo implicit_transactions OFF:
SET IMPLICIT_TRANSACTIONS OFF

Quando a configuração está ON, ela retorna ao modo de transação implícita. No modo de transação implícita, cada alteração que você faz inicia uma transação que você deve confirmar manualmente.

Talvez um exemplo seja mais claro. Isso gravará uma alteração no banco de dados:
SET IMPLICIT_TRANSACTIONS ON
UPDATE MyTable SET MyField = 1 WHERE MyId = 1
COMMIT TRANSACTION

Isso não gravará uma alteração no banco de dados:
SET IMPLICIT_TRANSACTIONS ON
UPDATE MyTable SET MyField = 1 WHERE MyId = 1
ROLLBACK TRANSACTION

O exemplo a seguir atualizará uma linha e, em seguida, reclamará que não há transação para confirmar:
SET IMPLICIT_TRANSACTIONS OFF
UPDATE MyTable SET MyField = 1 WHERE MyId = 1
ROLLBACK TRANSACTION

Como Mitch Wheat disse, o autocommit é o padrão para o Sql Server 2000 e superior.