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

Anonim

View vs. Stored Procedure

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

ως

select_statement.

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

είναι

αρχίσει

δηλώσεις.

εξαίρεση

exception_handling

τέλος;

Προβολή

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

-
  • Ενημερώσιμες προβολές (Προβολές αυτές μπορούν να χρησιμοποιηθούν για INSERT, UPDATE και DELETE)
  • Μη αναβαθμίσιμες προβολές (Οι προβολές αυτοί δεν μπορούν να χρησιμοποιηθούν για INSERT, UPDATE και DELETE)

Ομαδοποιημένες Λειτουργίες (AVG, COUNT, MAX, MIN, SUM, κ.λπ.)

Ρύθμιση Ομάδων

>

ΣΥΝΑΡΜΟΛΟΓΗΣΗ BY clause

START ΚΕΦΑΛΑΙΟ

ΕΚΚΑΘΑΡΙΣΗ ΛΕΙΤΟΥΡΓΙΑΣ

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

Υπο ερώτημα σε μια λίστα επιλογών

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

Ποια είναι η διαφορά μεταξύ του

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

;

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

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

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

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

• DELETE, INSERT, UPDATE, SELECT, FLASHBACK και DEBUG μπορούν να παραχωρηθούν σε προβολές, αλλά μπορούν να χορηγηθούν μόνο EXECUTE και DEBUG για τις διαδικασίες.