Διαφορά μεταξύ ενεργοποίησης και διαδικασίας

Συγγραφέας: Laura McKinney
Ημερομηνία Δημιουργίας: 1 Απρίλιος 2021
Ημερομηνία Ενημέρωσης: 13 Ενδέχεται 2024
Anonim
Εκλογές 2019: Η «ακτινογραφία» της ψήφου των Ελλήνων
Βίντεο: Εκλογές 2019: Η «ακτινογραφία» της ψήφου των Ελλήνων

Περιεχόμενο


Η εκκίνηση και η διαδικασία αποτελούν συνιστώσα της προηγμένης SQL. Η εκκίνηση και η διαδικασία εκτελούν και μια συγκεκριμένη εργασία κατά την εκτέλεση τους. Η θεμελιώδης διαφορά μεταξύ του Trigger και της Διαδικασίας είναι ότι το Δώσει το έναυσμα για εκτελείται αυτόματα σε περιστατικά ενός γεγονότος ενώ το Διαδικασία εκτελείται όταν γίνεται ρητή επίκληση.

Ας συζητήσουμε κάποιες περισσότερες διαφορές μεταξύ του Trigger και της διαδικασίας με τη βοήθεια ενός πίνακα σύγκρισης που φαίνεται παρακάτω.

  1. Συγκριτικό διάγραμμα
  2. Ορισμός
  3. Βασικές διαφορές
  4. συμπέρασμα

Συγκριτικό διάγραμμα

Βάση σύγκρισηςΕνεργοποιείΔιαδικασίες
Βασικός Εκτελούνται αυτόματα κατά την εμφάνιση συγκεκριμένου συμβάντος.Μπορούν να εκτελεστούν όποτε απαιτείται.
ΚλήσηΟι σκανδαλισμοί δεν μπορούν να καλούνται μέσα σε μια διαδικασία.Αλλά, μπορείτε να καλέσετε μια διαδικασία μέσα σε μια σκανδάλη.
Παράμετρος Δεν μπορούμε να περάσουμε παραμέτρους σε ενεργοποιητές.Μπορούμε να περάσουμε παραμέτρους στις διαδικασίες.
ΕΠΙΣΤΡΟΦΗΗ ενεργοποίηση δεν επιστρέφει αξία στην εκτέλεση.Η διαδικασία μπορεί να επιστρέψει την αξία (τιμές) κατά την εκτέλεση.


Ορισμός της ενεργοποίησης

Η σκανδάλη είναι σαν μια διαδικασία που εκτελείται αυτόματα κατά την εμφάνιση ενός καθορισμένου συμβάντος. Όπως και η διαδικασία, η σκανδάλη δεν χρειάζεται να καλείται ρητά. Οι ενεργοποιητές δημιουργούνται για να εκτελέσουν κάποια εργασία ως απάντηση στην εμφάνιση συγκεκριμένου συμβάντος.

Η σκανδάλη μπορεί να χρησιμοποιηθεί ως απάντηση στο DDL (DELETE, INSERT ή UPDATE), ή DML (DELETE, INSERT ή UPDATE) ή σε ορισμένες λειτουργίες βάσης δεδομένων (SERVERERROR, LOGON, LOGOFF, STARTUP ή SHUTDOWN).

Η σκανδάλη αποτελείται από τρία συστατικά όπως αναλύονται παρακάτω:

  • Εκδήλωση: Το συμβάν είναι η εμφάνιση κάποιου περιστατικού που θα προκαλέσει την εκτέλεση της σκανδάλης. Η σκανδάλη μπορεί να παραγγελθεί να εκτελέσει είτε ΠΡΙΝ ένα συμβάν εμφανίζεται ή μπορεί να παραγγελθεί να εκτελεστεί ΜΕΤΑ την εκτέλεση ενός γεγονότος.
  • Κατάσταση: Είναι ένα προαιρετικό μέρος της σκανδάλης. Εάν δεν αναφέρεται, η ενεργοποίηση θα εκτελεστεί καθώς συμβαίνει το συγκεκριμένο συμβάν. Αν ο όρος είναι καθορισμένος, τότε θα ελέγξει τους κανόνες για να καθορίσει εάν θα πρέπει να εκτελεστεί η σκανδάλη.
  • Δράση: Η ενέργεια είναι μια σειρά δηλώσεων SQL που θα εκτελεστούν κατά την εκτέλεση του Trigger.

Η γενική μορφή της δημιουργίας ενός γεγονότος εξετάζεται παρακάτω:


CREATE TRIGGER ΠΡΙΝ ΜΕΤΑ ΔΡΑΣΗ ΣΥΝΘΗΚΗΣ;

Εδώ, η κατάσταση είναι προαιρετική.

Ορισμός των διαδικασιών

Η διαδικασία μπορεί να ληφθεί ως μονάδα προγράμματος, που δημιουργήθηκε για να εκτελέσει κάποια εργασία και αποθηκεύεται στη βάση δεδομένων. Εκφράζονται από τη δήλωση SQL όποτε απαιτείται. Οι διαδικασίες είναι σαν τις λειτουργίες που καθορίζονται από το χρήστη και ορίζονται από τους προγραμματιστές. Οι διαδικασίες μπορούν να χρησιμοποιηθούν χρησιμοποιώντας ΚΛΗΣΗ ή ΕΚΤΕΛΕΣΗ.

Οι διαδικασίες είναι χρήσιμες στις ακόλουθες περιπτώσεις:

  • Εάν η διαδικασία απαιτείται από αρκετές άλλες εφαρμογές, τότε μπορεί να αποθηκευτεί στο διακομιστή έτσι ώστε να μπορεί να χρησιμοποιηθεί από οποιαδήποτε εφαρμογή. Θα μειώσει την προσπάθεια διπλασιασμού της διαδικασίας από μία βάση δεδομένων σε άλλη και επίσης θα βελτιώσει τη διαμόρφωση του λογισμικού.
  • Καθώς η διαδικασία εκτελείται στο διακομιστή, θα μειωθεί η μεταφορά δεδομένων και επίσης θα μειωθεί το κόστος επικοινωνίας.
  • Οι διαδικασίες μπορούν να χρησιμοποιηθούν για τον έλεγχο των σύνθετων περιορισμών που είναι πέρα ​​από την ισχύ της σκανδάλης.

Ας συζητήσουμε τη γενική μορφή της δημιουργίας μιας διαδικασίας:

ΔΗΜΙΟΥΡΓΙΑ ΔΙΑΔΙΚΑΣΙΑΣ () ΕΠΙΣΤΡΟΦΕΣ ;

Εδώ, οι παράμετροι και οι τοπικές δηλώσεις είναι προαιρετικές. Αναφέρονται μόνο όταν απαιτούνται. Η παρακάτω δήλωση περιγράφει την κλήση των διαδικασιών.

ΚΛΗΣΗ () ;

  1. Η κύρια διαφορά μεταξύ σκανδάλης και διαδικασίας είναι ότι μια σκανδάλη είναι μια δήλωση που παίρνει την αυτόματη κλήση όταν συμβεί κάποιο συμβάν. Από την άλλη πλευρά, η διαδικασία επικαλείται όποτε απαιτείται.
  2. Κάποιος μπορεί να ορίσει διαδικασία μέσα σε μια σκανδάλη. Αλλά, μια σκανδάλη δεν ορίζεται ποτέ μέσα σε μια διαδικασία καθώς η σκανδάλη πρέπει να ενεργοποιείται αυτόματα για την εμφάνιση οποιουδήποτε συμβάντος.
  3. Μπορούμε να μεταβιβάσουμε παραμέτρους στις διαδικασίες, αλλά δεν μπορούμε να περάσουμε παραμέτρους για να ενεργοποιήσουμε, καθώς δεν τις επικαλούνται.
  4. Μια διαδικασία μπορεί να επιστρέψει τις τιμές των παραμέτρων ή τον κωδικό, αλλά μια σκανδάλη δεν μπορεί.

Συμπέρασμα:

Οι ενεργοποιητές είναι χρήσιμες, αλλά αποφεύγονται εάν υπάρχει κάποια εναλλακτική λύση σε αυτές, καθώς αυξάνει την πολυπλοκότητα των δεδομένων. Μερικές φορές οι ενεργοποιητές είναι επίσης υποκατάστατα με κατάλληλη διαδικασία.