Aptarkime daugiau skirtumų tarp „Trigger“ ir „Procedūros“, naudojant žemiau pateiktą palyginimo lentelę.
Palyginimo diagrama
Palyginimo pagrindas | Įsijungia | Procedūros |
---|---|---|
Pagrindinis | Jie automatiškai vykdomi įvykus konkrečiam įvykiui. | Jie gali būti vykdomi, kai to reikia. |
Skambinimas | Trigeriai negali būti vadinami procedūros metu. | Tačiau galite paskambinti procedūros metu. |
Parametras | Mes negalime perduoti parametrų, kad juos būtų galima paleisti. | Mes galime perduoti parametrus procedūroms. |
Grįžti | Trigger niekada negrąžina vertės vykdymui. | Procedūra gali grąžinti vykdymo vertę. |
Triggerio apibrėžimas
Paleidėjas yra kaip procedūra, kuri automatiškai įvykdoma įvykus tam tikram įvykiui. Kaip ir procedūra, trigerio nereikia aiškiai pavadinti. Sukuriami trigeriai, kurie atlieka tam tikrą užduotį, reaguodami į tam tikro įvykio atsiradimą.
Šį paleidiklį galima naudoti atsakant į DDL (DELETE, INSERT arba UPDATE) arba DML (DELETE, INSERT arba UPDATE) arba kai kurių duomenų bazių operacijas (SERVERERROR, LOGON, LOGOFF, STARTUP arba SHUTDOWN).
Šį paleidiklį sudaro trys komponentai, kaip aptarta toliau:
- Įvykis : įvykis - tai tam tikras įvykis, dėl kurio bus įvykdytas spragtukas. Gali būti pavesta paleisti arba prieš įvykį, arba jam gali būti įsakyta atlikti įvykį po įvykio įvykdymo.
- Būklė : tai neprivaloma trigerio dalis. Jei nenurodyta spragtukas bus vykdomas, kai įvyksta nurodytas įvykis. Jei sąlyga yra nurodyta, ji patikrins taisykles, kad nustatytų, ar reikia paleisti trigerį.
- Veiksmas : veiksmas yra nustatytas SQL pareiškimas, kuris bus vykdomas vykdant trigerį.
Bendra įvykio kūrimo forma aptariama toliau:
PRIEŽIŪROS PRIEŽIŪROS PRIEŽIŪROS PRIEŽIŪRA;
Čia sąlyga yra neprivaloma.
Procedūrų apibrėžimas
Procedūra gali būti laikoma programos dalimi, sukurta atlikti tam tikrą užduotį ir saugoma duomenų bazėje. Jie reikalingi, kai reikalaujama, SQL. Procedūros yra panašios į vartotojo nustatytas funkcijas, kurias nustato kūrėjai. Procedūras galima naudoti naudojant „ CALL“ arba „ EXECUTE“ .
Procedūros yra naudingos šiose situacijose:
- Jei procedūra reikalinga kelioms kitoms taikomosioms programoms, tai ji gali būti saugoma serveryje, kad juos būtų galima panaudoti bet kuria programa. Tai sumažins procedūros dubliavimo pastangas iš vienos duomenų bazės į kitą ir taip pat pagerins programinės įrangos modalumą.
- Kadangi procedūra atliekama serveryje, ji sumažins duomenų perdavimą ir sumažins ryšio sąnaudas.
- Procedūras galima naudoti norint patikrinti sudėtingus suvaržymus, kurie nėra susiję su spragtuku.
Aptarkime bendrą procedūros formą:
CREATE PROCEDŪRA () GRĄŽINIMAS;
Čia parametrai ir vietos deklaracijos yra neprivalomos. Jie minimi tik tada, kai jie yra reikalingi. Toliau pateiktame pareiškime aprašoma procedūrų iškvietimas.
CALL ();
Pagrindiniai skirtumai tarp paleidimo ir procedūros
- Pagrindinis skirtumas tarp trigerio ir procedūros yra tas, kad paleidiklis yra teiginys, kuris automatiškai įsijungia įvykus įvykiui. Kita vertus, procedūra taikoma kiekvieną kartą, kai to reikia.
- Procedūrą galima apibrėžti spragtuko viduje. Tačiau spragtukas niekada neapibrėžtas procedūros metu, nes spragtuvas turi būti automatiškai naudojamas bet kokio įvykio atveju.
- Mes galime perduoti parametrus procedūroms, tačiau negalime praeiti parametrų, kad juos būtų galima paleisti, nes mūsų nenaudojame.
- Procedūra gali grąžinti parametrų reikšmes arba kodą, bet negali.
Išvada:
Naudotojai yra naudingi, tačiau jie vengiami, jei jiems yra alternatyva, nes ji padidina duomenų sudėtingumą. Kartais paskatintojai taip pat pakeičia atitinkamą procedūrą.