logo

SQL-TAPAHTUMAT

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

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

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

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

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

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.