Δήλωση υπόθεσης Oracle PL/SQL

Delose Ypotheses Oracle Pl Sql



Η ροή ελέγχου είναι ένα από τα κύρια δομικά στοιχεία στον προγραμματισμό. Καθορίζει τη σειρά με την οποία εκτελούνται τα διάφορα μπλοκ κώδικα σε ένα πρόγραμμα.

Όπως οι περισσότερες γλώσσες προγραμματισμού, η γλώσσα 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 για να δοκιμάσετε τις διάφορες συνθήκες και να εκτελέσετε μια ενέργεια εάν είναι αληθής.