Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come si imposta il commit automatico in una sessione di SQL Server?

Puoi attivare il commit automatico impostando le transazioni implicite su OFF:

SET IMPLICIT_TRANSACTIONS OFF

Quando l'impostazione è ON, torna alla modalità di transazione implicita. In modalità transazione implicita, ogni modifica apportata avvia una transazione che devi confermare manualmente.

Forse un esempio è più chiaro. Questo scriverà una modifica al database:

SET IMPLICIT_TRANSACTIONS ON
UPDATE MyTable SET MyField = 1 WHERE MyId = 1
COMMIT TRANSACTION

Questo non scriverà una modifica al database:

SET IMPLICIT_TRANSACTIONS ON
UPDATE MyTable SET MyField = 1 WHERE MyId = 1
ROLLBACK TRANSACTION

L'esempio seguente aggiornerà una riga, quindi si lamenterà del fatto che non ci sono transazioni da confermare:

SET IMPLICIT_TRANSACTIONS OFF
UPDATE MyTable SET MyField = 1 WHERE MyId = 1
ROLLBACK TRANSACTION

Come ha detto Mitch Wheat, il commit automatico è l'impostazione predefinita per Sql Server 2000 e versioni successive.