? Skrivning effektiv og vellykket SQL ( Structured Query Language ) sekvenser kan være så meget en kunst som en videnskab. Der er visse strukturer og terminologi , der skal anvendes til at fremstille resultatet programmøren ønsker . I SQL Server, er en transaktion en konkret og isoleret enhed af arbejde. Hver enhed har til at gennemføre inden en anden enhed kan begynde , og hver transaktion skal vide for at afslutte. Dette opnås med " Commit Transaction " kommando, som gør flere ting for udvikleren . Afslutter et Transaktion
servere i løbet af beregning af en bestemt transaktion , udføre kan mange forskellige opgaver . Ideelt set vil bygherren skrive en komplet transaktion, både giver det ønskede resultat og gør det i en logisk rækkefølge . Ved at udstede Commit Transaction kommando, programmøren fortæller den server, der alle beregninger , der er forbundet med denne særlige transaktionen er gennemført , og at permanent skrive resultaterne til databasen.
Frees Resources
< br >
En computer vil kun behandle eksekverbar kode i den rækkefølge det er skrevet . Det betyder, at indtil en transaktion er lukket, vil de ressourcer, forpligtet til at udføre denne transaktion ikke gøres tilgængelige for andre transaktioner eller opgaver. Commit Transaktion , hvis parret korrekt med en tilsvarende Begynd Transaction kommando , vil frigøre disse ressourcer, og tillade, at serveren til at gå videre med andre beregninger.
Registrer Open Transaktioner
< br >
Hver transaktion skal indledes af en Begin Transaction kommando. Serveren holder optælling af hver enkelt transaktion ved trinvist tilføje en til en kørende optælling af alle åbne transaktioner. Hvis der er andre åbne transaktioner vil en Commit Transaction kommando falde , der tæller med én , men dette betyder ikke nødvendigvis returnere den til nul. En optælling større end nul betyder, at alle de åbne transaktioner ikke er afsluttet. Det betyder, at de registre endnu ikke er permanent , og de ressourcer, der ikke er blevet frigivet.
Tillader komplekse beregninger
Commit Transaction Kommandoen styrer også " indlejrede " transaktioner . Programmøren starter én transaktion , og derefter kan skrive mange komplekse forretninger inde i den. Hver indlejret transaktion skal have en forpligtelse kommando, og den oprindelige transaktion skal derefter lukkes for at gøre alle de beregninger permanente. Commit Transaktion giver også bygherren en lille grad af fejl fange . Hvis count er nul, når commit kommandoen er givet, er en fejl, genereres , fordi der ikke er nogen korrelation begynde kommando.