sql >> Databasteknik >  >> RDS >> Sqlserver

Hur ställer du in autocommit i en SQL Server-session?

Du kan aktivera autocommit genom att ställa in implicit_transactions AV:

SET IMPLICIT_TRANSACTIONS OFF

När inställningen är PÅ återgår den till implicit transaktionsläge. I implicit transaktionsläge startar varje ändring du gör en transaktion som du måste utföra manuellt.

Kanske är ett exempel tydligare. Detta kommer att skriva en ändring i databasen:

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

Detta kommer inte att skriva en ändring i databasen:

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

Följande exempel kommer att uppdatera en rad och sedan klaga på att det inte finns någon transaktion att utföra:

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

Som Mitch Wheat sa, autocommit är standard för SQL Server 2000 och uppåt.



  1. Hur man hittar ett listobjekt på en specificerad position i MySQL

  2. Ansluta Oracle till SQL Server över en säker anslutning

  3. SQL Server prestanda råd från Brent Ozar och Pinal Dave

  4. Hur man säkrar MySQL/MariaDB-servrar