Skirtumas tarp trigerio ir procedūros
Turinys
Triggeris ir procedūra yra sudėtingesnio SQL sudedamoji dalis. Triggeris ir procedūra vykdo nurodytą užduotį. Esminis skirtumas tarp trigerio ir procedūros yra tas, kad Trigeris įvykdo įvykį automatiškai, tuo tarpu Procedūra vykdomas, kai jis aiškiai iškviečiamas.
Toliau pateiktoje palyginimo diagramoje aptarsime dar keletą trigerio ir procedūros skirtumų.
- Palyginimo diagrama
- Apibrėžimas
- Pagrindiniai skirtumai
- Išvada
Palyginimo diagrama
Palyginimo pagrindas | Trigeriai | Procedūros |
---|---|---|
Pagrindinis | Jie automatiškai vykdomi įvykus nurodytam įvykiui. | Jie gali būti įvykdyti, kai to reikia. |
Skambina | Triggeriai negali būti vadinami procedūros metu. | Bet jūs galite iškviesti procedūrą trigerio viduje. |
Parametras | Negalime perduoti parametrų aktyvikliams. | Galime perduoti parametrus procedūroms. |
Grįžti | Suaktyvintuvas niekada negrąžins vertės vykdydamas. | Procedūra gali grąžinti vertę (-es) vykdant. |
Triggerio apibrėžimas
Trigeris yra tarsi procedūra, kuri automatiškai vykdoma įvykus nurodytam įvykiui. Kaip ir procedūros, gaiduko nereikia aiškiai vadinti. Sukuriami trigeriai, skirti atlikti tam tikrą užduotį, reaguojant į kažkokį nurodytą įvykį.
Trigerį galima iškviesti reaguojant į DDL teiginius (ištrinti, įterpti ar atnaujinti) arba DML teiginius (DELETE, INSERT ar UPDATE) arba kai kurias duomenų bazės operacijas (SERVERERROR, LOGON, LOGOFF, STARTUP ar SHUTDOWN).
Trigeris susideda iš trijų komponentų, kaip aptarta toliau:
- Renginys: Įvykis yra įvykis, įvyksiantis dėl įvykio. Trigerį galima nurodyti atlikti bet kurį PRIEŠ įvyksta įvykis arba gali būti įsakyta jį įvykdyti PO įvykio įvykdymas.
- Būklė: Tai pasirenkama gaiduko dalis. Jei nepaminėtas, trigeris bus įvykdytas įvykus nurodytam įvykiui. Jei sąlyga yra nurodyta, tada ji patikrins taisykles, kad nustatytų, ar trigeris turėtų būti vykdomas.
- Veiksmas: Veiksmas yra nustatyti SQL sakiniai, kurie bus vykdomi vykdant paleidiklį.
Toliau aptariama bendra renginio sukūrimo forma:
CREATE TRIGGER Čia sąlyga yra neprivaloma. Procedūra gali būti laikoma programos vienetu, sukurtu tam tikrai užduočiai atlikti ir yra saugoma duomenų bazėje. Prireikus jie yra iškviečiami SQL. Procedūros yra kaip vartotojo apibrėžtos funkcijos, kurias nustato kūrėjai. Procedūras galima atlikti naudojantis KVIETIMAS arba VYKDYTI. Procedūros yra naudingos tokiose situacijose: Aptarsime bendrą procedūros sudarymo formą: KŪRIMO TVARKA Čia parametrai ir vietinės deklaracijos yra neprivalomi. Jie minimi tik tada, kai to reikalaujama. Žemiau pateiktas teiginys apibūdina procedūrų iškvietimą. KVIETIMAS Paleidikliai yra naudingi, tačiau jų vengiama, jei yra kokia nors alternatyva, nes tai padidina duomenų sudėtingumą. Kartais trigeriai taip pat yra tinkamos procedūros pakaitalai.Procedūrų apibrėžimas
Išvada: