Is DDL-opdragte Autocommit?
Is DDL-opdragte Autocommit?

Video: Is DDL-opdragte Autocommit?

Video: Is DDL-opdragte Autocommit?
Video: TUTORIAL SQL SERVER 2008 BAGIAN KE 2 (CREATE , DROP , ALTER , INSERT , SELECT,UPDATE) 2024, November
Anonim

Is ( DDL ) Datamanipulasietaal stellings Autocommit ? Nee. Slegs die DDL (Data-definisietaal) stellings soos skep, verander, laat val, afkap is outocommit.

Benewens dit, is DML-opdragte Autocommit?

By verstek, a DML stelling wat uitgevoer word sonder om 'n transaksie uitdruklik te begin, word outomaties gepleeg op sukses of teruggerol by mislukking aan die einde van die stelling. Hierdie gedrag word genoem outocommit . Hierdie gedrag word beheer met die OUTOMAT parameter. DDL stellings is altyd outotoegewyd.

Die vraag is dan, wat is Autocommit in SQL? In die konteks van databestuur, outocommit is 'n werkswyse van 'n databasisverbinding. Die alternatief vir outocommit modus (nie- outocommit ) beteken dat die SQL kliënttoepassing self is verantwoordelik vir die uitreiking van transaksie-inisiasie (begin transaksie) en beëindiging (commitor rollback) opdragte.

Vereis DDL dan commit?

TRUNCATE is 'n DDL opdrag sodat dit nie 'n eksplisiete nodig het nie pleeg want om dit te noem voer 'n implisiete uit pleeg . Vanuit 'n stelselontwerpperspektief is 'n transaksie 'n misbruik-eenheid van werk. Dit kan bestaan uit 'n enkele DML verklaring of verskeie van hulle. Dit maak nie saak nie: slegs volledige transaksies vereis COMMIT.

Wat gebeur wanneer Autocommit aangeskakel is?

As AUTOCOMMIT is ingestel tot 1, word elke SQL-stelling as 'n volledige transaksie beskou en by verstek gepleeg wanneer dit klaar is. As AUTOCOMMIT is ingestel tot 0 tree die daaropvolgende reeks stellings op soos 'n transaksie en geen transaksie word gepleeg totdat 'n eksplisiete COMMIT-stelling uitgereik is nie.

Aanbeveel: