sql >> Databáze >  >> RDS >> Sqlserver

Jak nastavíte autocommit v relaci SQL Server?

Autocommit můžete zapnout nastavením implicit_transactions OFF:

SET IMPLICIT_TRANSACTIONS OFF

Když je nastavení ZAPNUTO, vrátí se do režimu implicitních transakcí. V režimu implicitních transakcí každá provedená změna zahájí transakci, kterou musíte potvrdit ručně.

Možná je příklad jasnější. Tím se zapíše změna do databáze:

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

Toto nezapíše změnu do databáze:

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

Následující příklad aktualizuje řádek a poté si stěžuje, že neexistuje žádná transakce k potvrzení:

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

Jak řekl Mitch Wheat, autocommit je výchozí pro SQL Server 2000 a vyšší.



  1. Jak vrátit zpět, když dojde k chybě při provádění příkazu sql loader?

  2. Jak číst poslední řádek s SQL Server

  3. Počítání počtu výskytů znaku v Oracle SQL

  4. Co je databáze plochých souborů? Jak se liší od relační databáze?