Atšķirība starp sprūda un procedūru
Saturs
Aktivizētājs un procedūra ir uzlabotā SQL sastāvdaļa. Gan sprūda, gan procedūra izpilda noteiktu uzdevumu to izpildē. Galvenā atšķirība starp trigeri un procedūru ir tā, ka Trigger automātiski izpilda notikumu gadījumus, turpretī Procedūra tiek izpildīts, kad uz to tieši atsaucas.
Apskatīsim vēl dažas atšķirības starp trigeru un procedūru, izmantojot zemāk parādīto salīdzināšanas tabulu.
- Salīdzināšanas tabula
- Definīcija
- Galvenās atšķirības
- Secinājums
Salīdzināšanas tabula
Salīdzināšanas pamats | Trigeri | Procedūras |
---|---|---|
Pamata | Tie tiek automātiski izpildīti, ja notiek noteikts notikums. | Tos var izpildīt, kad vien nepieciešams. |
Zvana | Trigeri, kurus nevar saukt procedūras iekšpusē. | Bet jūs varat izsaukt procedūru sprūda iekšpusē. |
Parametrs | Mēs nevaram nodot parametrus sprūdajiem. | Mēs varam nodot parametrus procedūrām. |
Atgriezties | Aktivizētājs nekad neatdod vērtību izpildes laikā. | Procedūra var atgriezt vērtību (-as) izpildes laikā. |
Trigera definīcija
Sprūda ir kā procedūra, kas tiek automātiski izpildīta, ja notiek noteikts notikums. Tāpat kā procedūra, sprūda nav skaidri jāsauc. Trigeri tiek izveidoti, lai izpildītu kādu uzdevumu, reaģējot uz kāda noteikta notikuma iestāšanos.
Uz sprūdu var atsaukties, reaģējot uz DDL paziņojumus (izdzēst, ievietot vai atjaunināt) vai DML paziņojumus (DELETE, INSERT vai UPDATE) vai, izmantojot dažas datu bāzes darbības (SERVERERROR, LOGON, LOGOFF, STARTUP vai SHUTDOWN).
Sprūda sastāv no trim komponentiem, kā aprakstīts turpmāk:
- Pasākums: Notikums ir kāda negadījuma notikums, kas izraisīs sprūda izpildi. Sprūdu var pasūtīt izpildīt vienu vai otru PIRMS notiek notikums vai to var likt izpildīt PĒC notikuma izpilde.
- Stāvoklis: Tā ir izvēles iespēja. Ja nav minēts, sprūda tiks izpildīta, kad notiks norādītais notikums. Ja nosacījums ir norādīts, tad tas pārbaudīs noteikumus, lai noteiktu, vai ir jāizpilda sprūda.
- Darbība: Darbība ir noteikts SQL paziņojums, kas tiks izpildīts, izpildot trigeri.
Pasākuma izveides vispārējā forma ir apskatīta zemāk:
CREATE TRIGGER Šeit nosacījums nav obligāts. Procedūru var uzskatīt par programmas vienību, kas izveidota kāda uzdevuma veikšanai, un tā tiek glabāta datu bāzē. Kad vien nepieciešams, uz tiem atsaucas SQL. Procedūras ir līdzīgas lietotāja definētām funkcijām, kuras nosaka izstrādātāji. Procedūras var izmantot, izmantojot ZVANOT vai IZPILDĪT. Procedūras ir noderīgas šādās situācijās: Apspriedīsim procedūras izveidošanas vispārīgo formu: IZVEIDOŠANAS PROCEDŪRA Šeit parametri un vietējās deklarācijas nav obligātas. Tie tiek minēti tikai tad, kad tie ir nepieciešami. Tālāk sniegtais paziņojums apraksta procedūru izsaukšanu. ZVANOT Aktivizētāji ir noderīgi, taču no tiem izvairās, ja tiem ir alternatīva, jo tas palielina datu sarežģītību. Dažreiz sprūdi ir arī aizstājēji ar atbilstošu procedūru.Procedūru definīcija
Secinājums: