Hva betyr "Commit Transaksjonen" Mean i SQL?

Skrive effektiv og vellykket SQL (Structured Query Language) sekvenser kan være like mye en kunst som en vitenskap. Det er visse strukturer og terminologi som må brukes for å fremstille det resultat programmereren vil. I SQL Server, er en transaksjon en spesifikk og isolerte arbeidsenhet. Hver enhet har å fullføre før en annen enhet kan begynne, og hver transaksjon må få beskjed om å fullføre. Dette gjøres med "Commit Transaksjonen" kommandoen, som gjør flere ting for utbygger.

Avslutter en transaksjon

Serverne, i løpet av beregning av en bestemt transaksjon, kan utføre mange forskjellige oppgaver. Ideelt sett vil utbygger skrive en komplett transaksjon som både produserer ønsket resultat og gjør det på en logisk rekkefølge. Ved utstedelse av Commit Transaksjonskommandoen programmerer forteller serveren at alle beregningene knyttet til denne konkrete transaksjonen er gjennomført og til permanent skrive resultatene til databasen.

Frees Resources

En datamaskin vil bare behandle kjørbar kode i den rekkefølgen de er skrevet på. Dette betyr at før en transaksjon er lukket, ressursene forpliktet til å utføre denne transaksjonen vil ikke bli gjort tilgjengelig for andre transaksjoner eller oppgaver. Forplikte Transaksjons, hvis parret riktig med en tilsvarende Begynn Transaksjons kommando, vil frigjøre disse ressursene og la serveren å gå videre med andre beregninger.

Holder styr på åpne transaksjoner

Hver transaksjon må initieres av en Begynn Transaksjons kommando. Serveren holder telling av hver transaksjon ved trinnvis å legge en til en løpende oversikt over alle åpne transaksjoner. Hvis det er andre åpne transaksjoner, vil en forplikte Transaksjons kommando reduseres som teller ved en; men dette betyr ikke nødvendigvis returnere den til null. En teller er større enn null betyr at alle åpne transaksjoner ikke er ferdigstilt. Dette betyr at postene er ennå ikke permanent, og ressursene har ikke blitt utgitt.

Gir mulighet for komplekse beregninger

Commit Transaksjons kommandoen styrer også "nøstede" transaksjoner. Programmereren starter en transaksjon, og deretter kan skrive mange komplekse nærstående transaksjoner innsiden av det. Hver nestet transaksjonen må ha en forplikte kommando, og den opprinnelige transaksjonen må da være stengt for å gjøre alle beregningene permanent. Forplikte Transaksjonen gir også utvikler en liten grad av feil fanger. Dersom antallet er null når forplikte kommandoen er gitt, oppstår det en feil, fordi det ikke er noen korrelasjon begynne kommando.