Transaksjoner grupperer et sett med oppgaver i en enkelt utførelsesenhet. Hver transaksjon begynner med en bestemt jobb og slutter når alle oppgavene i gruppen er fullført. Hvis noen av oppgavene mislykkes, mislykkes transaksjonen. Derfor har en transaksjon bare to resultater: suksess eller feil .
Eksempel på en transaksjon for å overføre 0 fra konto A til konto B:
1. read(A) 2. A:= A – 150 3. write(A) 4. read(B) 5. B:= B + 150 6. write(B)>
Ufullstendige trinn resulterer i mislykket transaksjon. En databasetransaksjon må per definisjon være atomær, konsistent, isolert og holdbar.
Disse er populært kjent som SYRE egenskaper. Disse egenskapene kan sikre samtidig utførelse av flere transaksjoner uten konflikt.
Transaksjonens egenskaper
- Atomitet: Utfallet av en transaksjon kan enten være helt vellykket eller helt mislykket. Hele transaksjonen må rulles tilbake hvis en del av den mislykkes.
- Konsistens: Transaksjoner opprettholder integritetsbegrensninger ved å flytte databasen fra en gyldig tilstand til en annen.
- Isolering: Samtidige transaksjoner er isolert fra hverandre, noe som sikrer nøyaktigheten til dataene.
- Varighet: Når en transaksjon er forpliktet, forblir modifikasjonene i kraft selv i tilfelle systemfeil.
Hvordan implementere Transaction Control Command ved hjelp av SQL?
Følgende kommandoer brukes til å kontrollere transaksjoner. Det er viktig å merke seg at disse setningene ikke kan brukes mens du oppretter tabeller og bare brukes med DML-kommandoer som f. SETT INN , OPPDATER , og SLETT .
BEGIN TRANSACTION Kommando
Den indikerer startpunktet for en eksplisitt eller lokal transaksjon.
Syntaks:
BEGIN TRANSACTION transaksjonsnavn ;
SET TRANSACTION Kommando
Verdiene for egenskapene til den gjeldende transaksjonen, for eksempel transaksjonsisolasjonsnivå og tilgangsmodus, angis ved å bruke SET TRANSACTION Statement i MySQL.
Syntaks:
innsettingssortering
SETT TRANSAKSJON [ LES SKRIV | LES BARE ];
COMMIT kommando
Hvis alt er i orden med alle utsagn i en enkelt transaksjon, blir alle endringer registrert sammen i databasen kalt engasjert . COMMIT-kommandoen lagrer alle transaksjonene til databasen siden den siste COMMIT- eller ROLLBACK-kommandoen.
Syntaks:
BEGÅ;
Eksempel:
Eksempeltabell 1

produksjon
k-nn algoritme
Følgende er et eksempel som ville slette de postene fra tabellen som har alder = 20 og deretter COMMIT endringene i databasen.
Spørsmål
DELETE FROM Student WHERE AGE = 20; COMMIT;>
Produksjon
Dermed vil to rader fra tabellen bli slettet og SELECT-setningen vil se slik ut,

produksjon
ROLLBACK-kommando
Hvis det oppstår en feil med noen av de grupperte SQL-setningene, må alle endringer avbrytes. Prosessen med å reversere endringer kalles tilbakerulling . Denne kommandoen kan bare brukes til å angre transaksjoner siden den siste COMMIT- eller ROLLBACK-kommandoen ble utstedt.
Syntaks for ROLLBACK-kommandoen:
RULLING TILBAKE;
Eksempel:
Fra eksemplet ovenfor Eksempeltabell 1 ,
Slett de postene fra tabellen som har alder = 20, og RULL TILBAKE endringene i databasen.
Spørsmål
DELETE FROM Student WHERE AGE = 20; ROLLBACK;>
Produksjon

produksjon
SAVEPOINT-kommando
SAVEPOINT oppretter poeng innenfor gruppene av transaksjoner som skal RULLES TILBAKE.
Et SAVEPOINT er et punkt i en transaksjon der du kan rulle transaksjonen tilbake til et bestemt punkt uten å rulle tilbake hele transaksjonen.
Syntaks for Savepoint-kommando:
SAVEPOINT SAVEPOINT_NAME;
Denne kommandoen brukes kun i opprettelsen av SAVEPOINT blant alle transaksjonene.
Generelt brukes ROLLBACK for å angre en gruppe transaksjoner.
j-knappen
Syntaks for å rulle tilbake til Savepoint Command:
TILBAKE TIL SAVEPOINT_NAME;
du kan RULLE TILBAKE til et hvilket som helst SAVEPOINT når som helst for å returnere de riktige dataene til sin opprinnelige tilstand.
Eksempel:
Fra eksemplet ovenfor Eksempeltabell 1 , Slett de postene fra tabellen som har alder = 20, og RULL TILBAKE endringene i databasen ved å beholde lagringspunkter.
Spørsmål
SAVEPOINT SP1; //Savepoint created. DELETE FROM Student WHERE AGE = 20; //deleted SAVEPOINT SP2; //Savepoint created.>
Her opprettes SP1 først SAVEPOINT før sletting. I dette eksemplet har en sletting funnet sted.
Etter sletting opprettes SAVEPOINT SP2 igjen.
Produksjon

produksjon
Sletting har funnet sted, la oss anta at du har ombestemt deg og bestemt deg for å RULLE TILBAKE til SAVEPOINT som du identifiserte som SP1 som er før sletting.
sletting er angret av denne uttalelsen.
Spørsmål
ROLLBACK TO SP1; //Rollback completed>
Produksjon

produksjon
RELEASE SAVEPOINT-kommando
Denne kommandoen brukes til å fjerne et SAVEPOINT som du har opprettet.
Syntaks:
hvordan returnere en array java
FRIGJØR SAVEPOINT SAVEPOINT_NAME
Når et SAVEPOINT har blitt frigitt, kan du ikke lenger bruke ROLLBACK-kommandoen til å angre transaksjoner utført siden siste SAVEPOINT.
Den brukes til å starte en databasetransaksjon og brukes til å spesifisere egenskapene til transaksjonen som følger.
Konklusjon
- SQL-setninger er gruppert sammen ved hjelp av transaksjoner.
- De lover at enten blir alle endringer gjort eller ingen i det hele tatt.
- Pålitelighet er sikret av SYRE-kvalitetene atomitet, konsistens, isolasjon og holdbarhet.
- Start en transaksjon med BEGIN TRANSACTION, og fullfør den med COMMIT eller ROLLBACK for å fullføre eller angre endringer.