sql >> Database >  >> RDS >> Sqlserver

Hoe stel je autocommit in in een SQL Server-sessie?

U kunt autocommit AAN zetten door implicit_transactions UIT te zetten:

SET IMPLICIT_TRANSACTIONS OFF

Wanneer de instelling AAN is, keert het terug naar de impliciete transactiemodus. In de impliciete transactiemodus start elke wijziging die u aanbrengt een transactie die u handmatig moet vastleggen.

Misschien is een voorbeeld duidelijker. Dit zal een wijziging in de database schrijven:

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

Dit zal geen wijziging in de database schrijven:

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

Het volgende voorbeeld zal een rij bijwerken en vervolgens klagen dat er geen transactie is om vast te leggen:

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

Zoals Mitch Wheat al zei, is autocommit de standaardinstelling voor Sql Server 2000 en hoger.



  1. SQLite-tabel maken

  2. Tabellen en kolommen neerzetten met SQL

  3. IP-adres opslaan in MySQL-database met behulp van PHP

  4. Datums sorteren in sqlite database?