Keskustelkaa muutamasta erosta Triggerin ja menettelyn välillä alla olevan vertailukaavion avulla.
Vertailukaavio
Vertailun perusteet | Liipaisimet | menettelyt |
---|---|---|
perustiedot | Ne suoritetaan automaattisesti määritetyn tapahtuman tapahtuessa. | Ne voidaan suorittaa tarvittaessa. |
Kutsumus | Käynnistimiä ei voi kutsua menettelyyn. | Voit kuitenkin soittaa menettelyyn liipaisimen sisällä. |
Parametri | Emme voi siirtää parametreja laukaisemaan. | Voimme siirtää parametreja menettelyihin. |
Palata | Trigger ei palauta arvoa suoritukseen. | Menettely voi palauttaa suorituksen arvon. |
Triggerin määritelmä
Liipaisin on kuin menettely, joka suoritetaan automaattisesti tietyn tapahtuman tapahtuessa. Menettelyn tapaan laukaisinta ei tarvitse kutsua nimenomaisesti. Käynnistimiä luodaan suorittamaan jonkin tehtävän vastauksena jonkin tietyn tapahtuman esiintymiseen.
Liipaisinta voidaan käyttää vastauksena DDL- lausekkeisiin (DELETE, INSERT tai UPDATE) tai DML- lausekkeisiin (DELETE, INSERT tai UPDATE) tai tietokantatoimintoihin (SERVERERROR, LOGON, LOGOFF, STARTUP tai SHUTDOWN).
Liipaisin koostuu kolmesta osasta, kuten alla on kuvattu:
- Tapahtuma : Tapahtuma on sellaisen tapahtuman esiintyminen, joka aiheuttaa laukaisimen suorittamisen. Liipaisimen voi tilata suorittamaan joko ENNEN tapahtumaa tai se voidaan määrätä suorittamaan tapahtuman suorituksen jälkeen.
- Kunto : Se on valinnainen osa liipaisinta. Jos mainittua laukaisinta ei mainita, se tapahtuu määritetyn tapahtuman tapahtuessa. Jos ehto on määritetty, se tarkistaa säännöt selvittääkseen, onko liipaisin suoritettava.
- Toimi : Toimenpide on asetettu SQL-lause, joka suoritetaan Triggerin suorittamisen yhteydessä.
Tapahtuman luomisen yleistä muotoa käsitellään seuraavassa:
CREATE TRIGGER ENNEN TAI TOIMENPITEEN KÄYTTÖÄ / JÄLKEEN
Tässä ehto on valinnainen.
Menettelyjen määritelmä
Menettely voidaan ottaa ohjelmayksiköksi, joka on luotu jonkin tehtävän suorittamiseksi ja tallennetaan tietokantaan. SQL-käskyt kutsuvat ne tarvittaessa. Menettelyt ovat kuin kehittäjien määrittelemät käyttäjän määrittelemät toiminnot. Menettelyjä voidaan käyttää CALL- tai EXECUTE-toiminnolla .
Menettelyt ovat hyödyllisiä seuraavissa tilanteissa:
- Jos toimenpide vaatii useita muita sovelluksia, se voidaan tallentaa palvelimelle niin, että niitä voidaan käyttää millä tahansa sovelluksella. Se vähentää menettelyn päällekkäisyyttä tietokannasta toiseen ja parantaa myös ohjelmiston modulaarisuutta.
- Kun toimenpide suoritetaan palvelimella, se vähentää tiedonsiirtoa ja vähentää myös viestintäkustannuksia.
- Menettelyjä voidaan käyttää tarkistamaan monimutkaisia rajoituksia, jotka eivät liity laukaisuun.
Keskustelkaamme menettelyn yleisestä muodosta:
CREATE PROCEDURE () PALAUTUKSET;
Tässä parametrit ja paikalliset ilmoitukset ovat valinnaisia. Ne mainitaan vain silloin, kun niitä tarvitaan. Alla olevassa selityksessä kuvataan menettelyjen kutsuminen.
SOITTAA PUHELIMELLA () ;
Triggerin ja menettelyn keskeiset erot
- Ensisijainen ero liipaisimen ja menettelyn välillä on se, että liipaisin on lausunto, joka tulee automaattisesti esiin, kun tapahtuma on tapahtunut. Toisaalta menettelyä käytetään aina, kun se on tarpeen.
- Menetelmän voi määrittää liipaisimen sisällä. Mutta laukaisinta ei koskaan määritellä menettelyssä, koska liipaisinta on käytettävä automaattisesti tapahtuman tapahtuessa.
- Voimme siirtää parametreja menettelyihin, mutta emme voi siirtää parametreja laukaisemaan, koska me emme käytä niitä.
- Menettely voi palauttaa parametriarvoja tai koodia, mutta laukaisinta ei voi.
johtopäätös:
Käynnistimet ovat hyödyllisiä, mutta niitä vältetään, jos niille on olemassa vaihtoehto, koska se lisää datan monimutkaisuutta. Joskus laukaisijat ovat myös korvaavia asianmukaisella menettelyllä.