Διαφορά μεταξύ Προβολής και Αποθηκευμένης Διαδικασίας

Πίνακας περιεχομένων:

Διαφορά μεταξύ Προβολής και Αποθηκευμένης Διαδικασίας
Διαφορά μεταξύ Προβολής και Αποθηκευμένης Διαδικασίας

Βίντεο: Διαφορά μεταξύ Προβολής και Αποθηκευμένης Διαδικασίας

Βίντεο: Διαφορά μεταξύ Προβολής και Αποθηκευμένης Διαδικασίας
Βίντεο: Εικονογραφίες φιλοσόφων κατά την Ελληνιστική εποχή και την Ύστερη Αρχαιότητα – Εύη Σαραντέα 2024, Ιούλιος
Anonim

Προβολή έναντι αποθηκευμένης διαδικασίας

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

δημιουργία ή αντικατάσταση ονόματος προβολής

ως

select_statement;

Μια αποθηκευμένη διαδικασία είναι ένα προ-μεταγλωττισμένο σύνολο εντολών SQL, το οποίο αποθηκεύεται στον διακομιστή βάσης δεδομένων. Κάθε αποθηκευμένη διαδικασία έχει ένα όνομα κλήσης, το οποίο χρησιμοποιείται για την κλήση τους μέσα σε άλλα πακέτα, διαδικασίες και συναρτήσεις. Αυτή είναι η σύνταξη (στο ORACLE) για τη δημιουργία μιας αποθηκευμένης διαδικασίας, δημιουργία ή αντικατάσταση ονόματος διαδικασίας (παράμετροι)

είναι

αρχή

statements;

εξαίρεση

εξαίρεση_χειρισμός

τέλος;

Προβολή

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

  • Προβολές με δυνατότητα ενημέρωσης (Προβολές που μπορούν να χρησιμοποιηθούν για INSERT, UPDATE και DELETE)
  • Προβολές που δεν μπορούν να ενημερωθούν (Προβολές που δεν μπορούν να χρησιμοποιηθούν για INSERT, UPDATE και DELETE)

Οι ενημερωμένες προβολές δεν μπορούν να περιλαμβάνουν παρακάτω, Σετ τελεστών (INTERSECT, MINUS, UNION, UNION ALL)

DISTINCT

Συναρτήσεις συγκεντρωτικών ομάδων (AVG, COUNT, MAX, MIN, SUM, κ.λπ.)

GROUP BY Clauuse

ΠΑΡΑΓΓΕΛΙΑ ΑΝΑ ρήτρα

ΣΥΝΔΕΣΗ ΜΕ ρήτρα

START ΜΕ ρήτρα

Έκφραση συλλογής σε λίστα επιλογής

Υπό ερώτημα σε Λίστα επιλογής

Ερώτημα συμμετοχής

Αποθηκευμένη διαδικασία

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

Ποια είναι η διαφορά μεταξύ Προβολής και Αποθηκευμένης Διαδικασίας;

Ας δούμε τις διαφορές μεταξύ αυτών των δύο.

• Οι προβολές λειτουργούν ως εικονικοί πίνακες. Μπορούν να χρησιμοποιηθούν απευθείας από το κλείσιμο των ερωτημάτων SQL (επιλογή), αλλά οι διαδικασίες δεν μπορούν να χρησιμοποιηθούν από το κλείσιμο των ερωτημάτων.

• Οι προβολές έχουν ως σώμα μόνο μια εντολή επιλογής, αλλά οι διαδικασίες μπορούν να έχουν ως σώμα δηλώσεις μεταβλητών, εκχωρήσεις μεταβλητών, δηλώσεις ελέγχου, βρόχους, ερωτήματα SQL και άλλες συναρτήσεις/διαδικασίες/κλήσεις πακέτου.

• Η διαδικασία δέχεται παραμέτρους για εκτέλεση, αλλά οι προβολές δεν θέλουν να εκτελεστούν οι παράμετροι.

• Οι τύποι εγγραφών μπορούν να δημιουργηθούν από προβολές που χρησιμοποιούν % ROWTYPE, αλλά χρησιμοποιώντας διαδικασίες, δεν μπορούν να δημιουργηθούν τύποι εγγραφών.

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

• ΔΙΑΓΡΑΦΗ, ΕΙΣΑΓΩΓΗ, ΕΝΗΜΕΡΩΣΗ, SELECT, FLASHBACK και DEBUG μπορούν να παραχωρηθούν σε προβολές, αλλά μόνο EXECUTE και DEBUG μπορούν να εκχωρηθούν στις διαδικασίες.

Συνιστάται: