Tapahtumat ryhmittelevät joukon tehtäviä yhdeksi suoritusyksiköksi. Jokainen tapahtuma alkaa tietystä työstä ja päättyy, kun kaikki ryhmän tehtävät on suoritettu onnistuneesti. Jos jokin tehtävistä epäonnistuu, tapahtuma epäonnistuu. Siksi liiketoimella on vain kaksi tulosta: menestys tai epäonnistuminen .
lajitella arraylist java
Esimerkki tapahtumasta, jolla 150 dollaria siirretään tililtä A tilille B:
1. read(A) 2. A:= A – 150 3. write(A) 4. read(B) 5. B:= B + 150 6. write(B)>
Puutteelliset vaiheet johtavat tapahtuman epäonnistumiseen. Tietokantatapahtuman on määritelmän mukaan oltava atomimainen, johdonmukainen, eristetty ja kestävä.
Nämä tunnetaan yleisesti nimellä HAPPO ominaisuuksia. Nämä ominaisuudet voivat varmistaa useiden tapahtumien samanaikaisen suorittamisen ilman ristiriitoja.
Tapahtuman ominaisuudet
- Atomuus: Kaupan lopputulos voi olla joko täysin onnistunut tai täysin epäonnistunut. Koko tapahtuma on peruutettava, jos jokin sen osa epäonnistuu.
- Johdonmukaisuus: Tapahtumat säilyttävät eheysrajoitukset siirtämällä tietokannan kelvollisesta tilasta toiseen.
- Eristäytyminen: Samanaikaiset tapahtumat on eristetty toisistaan, mikä varmistaa tietojen oikeellisuuden.
- Kestävyys: Kun tapahtuma on sitoutunut, sen muutokset pysyvät voimassa myös järjestelmävian sattuessa.
Kuinka toteuttaa Transactions Control Command SQL:llä?
Seuraavia komentoja käytetään tapahtumien ohjaamiseen. On tärkeää huomata, että näitä lausekkeita ei voi käyttää luotaessa taulukoita ja niitä käytetään vain DML-komentojen kanssa, kuten LISÄÄ , PÄIVITTÄÄ , ja POISTAA .
BEGIN TRANSACTION -komento
Se osoittaa nimenomaisen tai paikallisen tapahtuman aloituskohdan.
Syntaksi:
BEGIN TRANSACTION tapahtuman_nimi ;
SET TRANSACTION-komento
Nykyisen tapahtuman ominaisuuksien arvot, kuten tapahtuman eristystaso ja käyttötila, asetetaan MySQL:n SET TRANSACTION -lausekkeen avulla.
Syntaksi:
ASETTA TAPAHTUMA [ LUE KIRJOITTAA | LUE AINOASTAAN ];
COMMIT-komento
Jos kaikki on kunnossa kaikkien lausekkeiden kanssa yhden tapahtuman sisällä, kaikki muutokset kirjataan yhteen tietokantaan kutsutaan sitoutunut . COMMIT-komento tallentaa kaikki tapahtumat tietokantaan viimeisen COMMIT- tai ROLLBACK-komennon jälkeen.
Syntaksi:
TEHDÄ;
Esimerkki:
Esimerkkitaulukko 1

ulostulo
Seuraavassa on esimerkki, joka poistaa taulukosta ne tietueet, joiden ikä on = 20, ja SITOI sitten muutokset tietokantaan.
Kysely
DELETE FROM Student WHERE AGE = 20; COMMIT;>
Lähtö
Näin ollen taulukosta poistetaan kaksi riviä ja SELECT-lause näyttäisi tältä,

ulostulo
ROLLBACK-komento
Jos jossakin ryhmitellyssä SQL-lauseessa tapahtuu virhe, kaikki muutokset on keskeytettävä. Muutosten kumoamisprosessia kutsutaan palautus . Tätä komentoa voidaan käyttää vain tapahtumien kumoamiseen viimeisen COMMIT- tai ROLLBACK-komennon jälkeen.
ROLLBACK-komennon syntaksi:
PALAUTUS;
Esimerkki:
Yllä olevasta esimerkistä Esimerkkitaulukko 1 ,
Poista taulukosta ne tietueet, joiden ikä on = 20, ja PALAA sitten tietokannan muutokset.
Kysely
DELETE FROM Student WHERE AGE = 20; ROLLBACK;>
Lähtö

ulostulo
SAVEPOINT-komento
SAVEPOINT luo tapahtumaryhmiin pisteitä, joissa PALAUTA.
SAVEPOINT on tapahtuman kohta, jossa voit palauttaa tapahtuman tiettyyn pisteeseen ilman koko tapahtuman peruuttamista.
Savepoint-komennon syntaksi:
SAVEPOINT SAVEPOINT_NAME;
Tätä komentoa käytetään vain luotaessa SAVEPOINT kaikkien tapahtumien kesken.
Yleensä ROLLBACKia käytetään tapahtumaryhmän kumoamiseen.
Syntaksi palataksesi Savepoint-komentoon:
PALAUTA SAVEPOINT_NAME:hen;
voit PALAUTTAA mihin tahansa SAVEPOINT-pisteeseen milloin tahansa palauttaaksesi asianmukaiset tiedot alkuperäiseen tilaan.
Esimerkki:
Yllä olevasta esimerkistä Esimerkkitaulukko 1 , Poista taulukosta ne tietueet, joiden ikä on = 20, ja PALAUTTA sitten muutokset tietokannassa säilyttämällä tallennuspisteet.
Kysely
SAVEPOINT SP1; //Savepoint created. DELETE FROM Student WHERE AGE = 20; //deleted SAVEPOINT SP2; //Savepoint created.>
Tässä SP1 on ensimmäinen SAVEPOINT, joka on luotu ennen poistamista. Tässä esimerkissä on tapahtunut yksi poisto.
Poiston jälkeen SAVEPOINT SP2 luodaan uudelleen.
Lähtö

ulostulo
Poisto on tapahtunut. Oletetaan, että olet muuttanut mielesi ja päättänyt PALAUTTA SP1:ksi tunnistamasi SAVEPOINT-pisteeseen, joka on ennen poistamista.
Tämä lausunto kumoaa poiston.
array java
Kysely
ROLLBACK TO SP1; //Rollback completed>
Lähtö

ulostulo
RELEASE SAVEPOINT -komento
Tätä komentoa käytetään poistamaan luomasi SAVEPOINT.
Syntaksi:
VAPAUTA SAVEPOINT SAVEPOINT_NAME
Kun SAVEPOINT on vapautettu, et voi enää käyttää ROLLBACK-komentoa viimeisen SAVEPOINT-pisteen jälkeen suoritettujen tapahtumien kumoamiseen.
Sitä käytetään tietokantatapahtuman käynnistämiseen ja sitä käytetään seuraavan tapahtuman ominaisuuksien määrittämiseen.
Johtopäätös
- SQL-käskyt ryhmitellään yhteen tapahtumien avulla.
- He lupaavat, että joko kaikki muutokset tehdään tai ei ollenkaan.
- Luotettavuuden takaavat happamat ominaisuudet, kuten atomiteetti, konsistenssi, eristys ja kestävyys.
- Aloita tapahtuma komennolla BEGIN TRANSACTION ja viimeistele se COMMIT- tai ROLLBACK-toiminnolla muutosten viimeistelemiseksi tai kumoamiseksi.