? Skriva effektiva och framgångsrika SQL ( Structured Query Language ) sekvenser kan vara lika mycket en konst som en vetenskap . Det finns vissa strukturer och terminologi som ska användas för att producera resultatet programmeraren vill . I SQL Server , är en transaktion en specifik och separat enhet för arbete . Varje enhet har att slutföra innan en annan enhet kan börja , och varje transaktion måste veta för att avsluta . Detta åstadkoms med " verkställa transaktion " kommandot , som gör flera saker för utvecklaren . Avslutar en transaktion
Servrarna , under beräkning av en viss transaktion , kan utföra många olika uppgifter . Helst ska utvecklaren skriva en komplett transaktion som både ger önskat resultat och gör det i en logisk ordning . Genom att utfärda verkställa transaktion kommandot , är programmeraren berättar server som alla beräkningar i samband med denna specifika transaktion har genomförts och att permanent skriva resultaten till databasen .
Frigör resurser
En dator kommer endast behandla körbar kod i den ordning den är skriven . Detta innebär att tills en transaktion stängd , kommer de resurser åtagit sig att utföra denna transaktion inte göras tillgängliga för andra transaktioner eller uppgifter . Verkställa transaktion , om det paras korrekt med en motsvarande påbörja transaktion kommando , kommer att frigöra dessa resurser och att servern ska kunna gå vidare med andra beräkningar .
Håller reda på öppna transaktioner
Varje transaktion måste initieras av ett påbörja transaktion kommando . Servern håller reda på varje transaktion genom att stegvis lägga till ett till en löpande sammanställning av alla öppna transaktioner . Om det finns andra öppna transaktioner , kommer en verkställa transaktion kommando minskar som räknar med en, men det betyder inte nödvändigtvis tillbaka den till noll . Ett tal som är större än noll innebär att alla öppna transaktioner inte har slutförts . Detta innebär att uppgifterna är ännu inte permanent , och de resurserna har inte släppts .
Möjliggör komplexa beräkningar
verkställa transaktion kommandot också kontrollerar " nästlade " transaktioner . Programmeraren startar en transaktion och sedan kan skriva många komplexa transaktioner inne i det . Varje kapslad transaktion måste ha ett åtagande kommando , och den ursprungliga transaktionen måste sedan stängas för att göra alla beräkningar permanent . Begå Transaktion också ger utvecklaren ett litet mått av misstag fånga . Om räkningen är noll när commit kommando ges , är ett fel genereras eftersom det inte finns någon korrelation börja kommandot .