Η ροή ελέγχου είναι ένα από τα κύρια δομικά στοιχεία στον προγραμματισμό. Καθορίζει τη σειρά με την οποία εκτελούνται τα διάφορα μπλοκ κώδικα σε ένα πρόγραμμα.
Όπως οι περισσότερες γλώσσες προγραμματισμού, η γλώσσα Oracle PL/SQL παρέχει διάφορες δηλώσεις ροής ελέγχου, όπως IF-THEN, CASE, FOR, WHILE κ.λπ.
Σε αυτήν την ανάρτηση, θα μάθουμε πώς να εργαζόμαστε με τη δήλωση CASE σε PL/SQL για να εισάγουμε τη ροή ελέγχου στα ερωτήματα της Oracle.
Εισαγωγή στη Δήλωση ΠΕΡΙΠΤΩΣΗΣ
Η δήλωση CASE σας επιτρέπει να ορίσετε μια ακολουθία δηλώσεων. Στη συνέχεια, η δήλωση case επιλέγει μια ακολουθία για εκτέλεση με βάση την καθορισμένη συνθήκη.
Σκεφτείτε το ως έναν πιο αποτελεσματικό τρόπο για να δηλώσετε ένα σύνολο μπλοκ if-then διατηρώντας παράλληλα την αναγνωσιμότητα.
Μπορούμε να εκφράσουμε τη σύνταξη της δήλωσης CASE στο Oracle όπως φαίνεται παρακάτω:
ΥΠΟΘΕΣΗΟΤΑΝ συνθήκη 1 ΤΟΤΕ αποτέλεσμα1
ΟΤΑΝ συνθήκη 2 ΤΟΤΕ αποτέλεσμα2
...
ΑΛΛΟ αποτέλεσμα
ΤΕΛΟΣ
Η πρόταση CASE αξιολογεί κάθε συνθήκη στις προτάσεις WHEN σε αυτήν τη σύνταξη.
Εάν η δήλωση βρει μια αντίστοιχη δήλωση, επιστρέφει το αποτέλεσμα που ταιριάζει. Ωστόσο, σε ορισμένες περιπτώσεις, η δήλωση περίπτωσης ενδέχεται να μην βρει μια συνθήκη που ταιριάζει. Σε ένα τέτοιο σενάριο, η εντολή εκτελεί το αποτέλεσμα που ορίζεται στο μπλοκ ELSE.
ΣΗΜΕΙΩΣΗ : Το μπλοκ ELSE είναι προαιρετικό. Εάν δεν είναι διαθέσιμο, η μηχανή βάσης δεδομένων χρησιμοποιεί την ακόλουθη σύνταξη:
ΑΛΛΟΥ:ΑΥΞΗΣΤΕ ΠΕΡΙΠΤΩΣΗ_NOT_FOUND.
Αυτό επιτρέπει στη μηχανή βάσης δεδομένων να δημιουργήσει μια εξαίρεση και να διακόψει την εκτέλεση όταν δεν υπάρχει συνθήκη αντιστοίχισης.
Παράδειγμα 1: Δήλωση ΠΕΡΙΠΤΩΣΗΣ Βασικό Παράδειγμα
Αυτό το παράδειγμα δείχνει ένα βασικό παράδειγμα χρήσης του τελεστή case στο Oracle:
δηλώνωαριθμός ηλικίας·
είσοδος char(10);
αρχίσει
ηλικία := 24;
ηλικία περίπτωσης
όταν 17 τότε
καταχώριση := 'denined';
όταν 24 τότε
καταχώρηση := '9,99';
όταν 45 τότε
καταχώρηση :='15,99';
αλλού
είσοδος := 'δεν επιτρέπεται';
τελική υπόθεση?
DBMS_OUTPUT.PUT_LINE(καταχώρηση);
τέλος;
Η παρεχόμενη εικόνα θα πρέπει να ελέγξει για οποιαδήποτε συνθήκη που ταιριάζει και να επιστρέψει την αντίστοιχη κατάσταση. Για παράδειγμα, εφόσον η συνθήκη αντιστοίχισης είναι 24, η ρήτρα επιστρέφει ως εξής:
9,99Παράδειγμα 2: Δήλωση ΠΕΡΙΠΤΩΣΗΣ με πίνακα βάσης δεδομένων
Αυτό το παράδειγμα χρησιμοποιεί τη δήλωση case με έναν πίνακα βάσης δεδομένων.
επιλέξτε όνομα, επώνυμο, μισθό,υπόθεση
όταν ο μισθός είναι 2500 τότε 'Υψηλός'
άλλο 'άγνωστο'
τέλος ως μισθός_κατάσταση
απο ΕΡΓΑΖΟΜΕΝΟΥΣ?
Το παρεχόμενο ερώτημα χρησιμοποιεί τη δήλωση περίπτωσης για να ελέγξει το εύρος μισθών από τον πίνακα των εργαζομένων.
Η τιμή που προκύπτει είναι όπως φαίνεται παρακάτω:
συμπέρασμα
Σε αυτήν την ανάρτηση, μάθατε πώς να χρησιμοποιείτε τη δήλωση υπόθεσης Oracle για να δοκιμάσετε τις διάφορες συνθήκες και να εκτελέσετε μια ενέργεια εάν είναι αληθής.