Εκμάθηση PL / SQL: Όλα όσα πρέπει να γνωρίζετε για το PL / SQL



Το σεμινάριο PL / SQL καλύπτει όλες τις λεπτομερείς εξηγήσεις όλων των απαραίτητων εννοιών που απαιτούνται για τον έλεγχο του προγραμματισμού PL / SQL με διάφορα παραδείγματα

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

Τι είναι το PL / SQL;

Δηλώνει επέκταση διαδικαστικής γλώσσας στο δομημένη γλώσσα ερωτημάτων . Η Oracle δημιούργησε PL / SQL που επεκτείνει ορισμένους περιορισμούς της SQL για να παρέχει μια πιο ολοκληρωμένη λύση για την κατασκευή κρίσιμων αποστολών εφαρμογών που εκτελούνται στο oracle .





φροντιστήριο logo-pl / sql - edureka

Χαρακτηριστικά

  • Το PL / SQL παρέχει τη λειτουργικότητα μιας διαδικαστικής γλώσσας όπως η λήψη αποφάσεων, η επανάληψη κ.λπ.

  • Χρησιμοποιώντας μία μόνο εντολή, το PL / SQL μπορεί να εκτελέσει έναν αριθμό ερωτημάτων.



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

  • Το PL / SQL έχει επίσης ένα μπλοκ χειρισμού εξαιρέσεων που χειρίζεται τις εξαιρέσεις στο PL / SQL.

  • Είναι επίσης δυνατός ο εκτεταμένος έλεγχος σφαλμάτων χρησιμοποιώντας το PL / SQL



  • Οι εφαρμογές που είναι γραμμένες σε PL / SQL είναι φορητές σε άλλο υλικό και λειτουργικά συστήματα με την προϋπόθεση ότι το oracle πρέπει να είναι λειτουργικό.

PL / SQL εναντίον SQL

SQL PL / SQL
Το SQL είναι ένα μεμονωμένο ερώτημα που χρησιμοποιείται για την εκτέλεση λειτουργιών DDL και DMLΤο PL / SQL είναι ένα μπλοκ κωδικών που χρησιμοποιείται για τον καθορισμό ενός ολόκληρου προγράμματος ή διαδικασίας / λειτουργίας, κ.λπ.
Δεν καθορίζει πραγματικά πώς πρέπει να γίνουν τα πράγματα, αλλά καθορίζει τι πρέπει να γίνειΤο PL / SQL καθορίζει πώς πρέπει να γίνουν τα πράγματα
Εκτελεί μια μόνο δήλωσηΕκτελεί ένα μπλοκ δηλώσεων ταυτόχρονα.
Το SQL χρησιμοποιείται κυρίως για τον χειρισμό των δεδομένωνΤο PL / SQL, από την άλλη πλευρά, χρησιμοποιείται για τη δημιουργία εφαρμογών
Δεν μπορεί να περιέχει κώδικα PL / SQLΔεδομένου ότι είναι μια επέκταση SQL, μπορεί να περιέχει κώδικα SQL σε αυτήν

Αποκλεισμός δομών σε PL / SQL

Το PL / SQL συνήθως οργανώνει τον κώδικα σε μπλοκ. Το μπλοκ κώδικα χωρίς όνομα είναι γνωστό ως ανώνυμο μπλοκ. Είναι γνωστό ως το ανώνυμο μπλοκ επειδή δεν είναι αποθηκευμένο στη βάση δεδομένων του oracle. Ας ρίξουμε μια ματιά σε ένα ανώνυμο μπλοκ στο PL / SQL.

[ΔΗΛΩΣΗ] δηλώσεις δήλωσης [BEGIN] δηλώσεις εκτέλεσης [EXCEPTION] δηλώσεις εξαίρεσης ΤΕΛΟΣ /

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

  • ΔΗΛΩΝΩ Η λέξη-κλειδί χρησιμοποιείται για την ενότητα δήλωσης χρησιμοποιείται για να δηλώσει τύπους δεδομένων και δομές όπως μεταβλητές, συναρτήσεις κ.λπ.

  • ΑΡΧΙΖΟΥΝ λέξη-κλειδί χρησιμοποιείται για την ενότητα εκτέλεσης. Είναι υποχρεωτικό και περιέχει όλες τις δηλώσεις που πρέπει να εκτελεστούν. Αυτό το μπλοκ είναι όπου ορίζεται η λογική της επιχείρησης, μπορούμε να χρησιμοποιήσουμε διαδικαστικές ή SQL δηλώσεις σε αυτό το μπλοκ.

  • ο ΕΞΑΙΡΕΣΗ Η λέξη-κλειδί χρησιμοποιείται για την ενότητα εξαίρεσης. Περιέχει όλες τις δηλώσεις εξαίρεσης.

  • ΤΕΛΟΣ Η λέξη-κλειδί σηματοδοτεί το τέλος του μπλοκ και η ανάστροφη κάθετο «/» λέει στο εργαλείο που χρησιμοποιείτε (Oracle Database Tool) για να εκτελέσετε το μπλοκ PL / SQL.

Εδώ είναι ένα απλό παράδειγμα για να δείξετε πώς μπορούμε να χρησιμοποιήσουμε τον κώδικα PL / SQL.

ΑΡΧΙΚΗ ΚΑΛΗ ΤΕΛΟΣ /

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

Μεταβλητές PL / SQL

Η μεταβλητή στο PL / SQL είναι βασικά ένα όνομα που ποικίλλει ή προσωρινή θέση αποθήκευσης που υποστηρίζει έναν συγκεκριμένο τύπο δεδομένων. Ας ρίξουμε μια ματιά στο πώς μπορούμε να χρησιμοποιήσουμε τις μεταβλητές σε ένα πρόγραμμα PL / SQL.

Κανόνες μεταβλητής ονομασίας

Το PL / SQL ακολουθεί τους ακόλουθους κανόνες για την ονομασία μεταβλητών.

  • Η μεταβλητή δεν μπορεί να υπερβαίνει τους 31 χαρακτήρες

  • Το όνομα της μεταβλητής πρέπει να ξεκινά με έναν χαρακτήρα ASCII. Δεδομένου ότι το PL / SQL είναι πεζά-κεφαλαία, ένα κεφαλαίο και ένα πεζό γράμμα θα είναι διαφορετικές μεταβλητές.

  • Μετά τον πρώτο χαρακτήρα, πρέπει να υπάρχει ένας ειδικός χαρακτήρας ($, _) ή οποιοσδήποτε αριθμός.

Συμβάσεις ονοματολογίας

Χρησιμοποιήστε τις παρακάτω συμβάσεις ονομασίας που αναφέρονται παρακάτω για να χρησιμοποιήσετε τις μεταβλητές.

πώς να δημιουργήσετε μια εφαρμογή στο salesforce
Πρόθεμα Τύπος δεδομένων
β_ΒΑΡΚΑΡΗ2
ν_ΑΡΙΘΜΟΣ
τ_ΤΡΑΠΕΖΙ
r_ΣΕΙΡΑ
ρε_ΗΜΕΡΟΜΗΝΙΑ
σι_BOOLEAN

Δήλωση

Ας προσπαθήσουμε να καταλάβουμε πώς γίνεται η μεταβλητή δήλωση στο PL / SQL

Η δήλωση περιλαμβάνει το όνομα της μεταβλητής που ακολουθείται από τον τύπο δεδομένων και διαχωρίζεται με ερωτηματικό. Ακολουθεί ένα παράδειγμα για να δείξετε πώς μπορείτε να δηλώσετε μια μεταβλητή σε PL / SQL.

ΑΠΟΚΛΕΙΣΜΟΣ v_name VARCHAR (25) n_age ΑΡΙΘΜΟΣ (3) ΑΡΧΙΚΗ ΑΠΟ NULL END

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

Άγκυρες

Το άγκυρα αναφέρεται βασικά στη χρήση της λέξης-κλειδιού% TYPE που δηλώνει μια μεταβλητή με τον τύπο δεδομένων που σχετίζεται με τον τύπο δεδομένων μιας στήλης μιας συγκεκριμένης στήλης σε έναν πίνακα.

Ρίξτε μια ματιά σε ένα παράδειγμα για να το καταλάβετε. Ας υποθέσουμε ότι έχουμε έναν πίνακα ΕΡΓΑΖΟΜΕΝΟΙ, μπορούμε να χρησιμοποιήσουμε τις άγκυρες με τον ακόλουθο τρόπο.

ΔΗΛΩΣΗ v_name EMPLOYEE.NAME% TYPE n_age EMPLOYEE.AGE% TYPE ΕΓΚΑΤΑΣΤΑΣΗ NULL END /

ΑΝΑΘΕΣΗ ΕΡΓΑΣΙΑΣ

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

ΔΗΛΩΣΗ v_name VARCHAR (20) n_course VARCHAR (10) BEGIN v_name = 'edureka' v_course = 'sql' END /

Αρχικοποίηση

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

ΔΗΛΩΣΗ v_name VARCHAR (20) = 'edureka' n_course VARCHAR (10) = 'sql' BEGIN NULL END /

Τώρα που ξέρουμε πώς μπορούμε να εργαστούμε με τις μεταβλητές, ας προσπαθήσουμε να καταλάβουμε πώς θα χρησιμοποιήσουμε συναρτήσεις στο PL / SQL.

Λειτουργία σε PL / SQL

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

ΔΗΜΙΟΥΡΓΙΑ [Ή ΑΝΤΙΚΑΤΑΣΤΑΣΗ] ΛΕΙΤΟΥΡΓΙΑ function_name [(παράμετρος_1 [IN] [OUT] data_type, parameter_2 [IN] [OUT] data_type, parameter_N [IN] [OUT] data_type] RETURN return_data_type IS BEGIN δηλώσεις return_data_type EXCEPTION END /

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

  • ΣΕ - Η παράμετρος IN είναι μια παράμετρος μόνο για ανάγνωση.

  • ΕΞΩ - Είναι μια παράμετρος μόνο για εγγραφή

  • ΜΕΣΑ ΕΞΩ - Η παράμετρος IN OUT είναι και η παράμετρος ανάγνωσης-εγγραφής.

Εδώ είναι ένα απλό παράδειγμα για να δείξετε πώς χρησιμοποιούμε συναρτήσεις σε PL / SQL.

ΔΗΜΙΟΥΡΓΙΑ Ή ΑΝΤΙΚΑΤΑΣΤΑΣΗ ΛΕΙΤΟΥΡΓΙΑΣ try_parse (iv_number IN VARCHAR2) Ο ΑΡΙΘΜΟΣ ΕΠΙΣΤΡΟΦΗΣ ΕΙΝΑΙ ΞΕΚΙΝΗΣΤΕ ΕΠΙΣΤΡΟΦΗ στο_number (iv_number) ΕΞΑΙΡΕΣΗ ΟΤΑΝ ΤΟ ΛΟΓΟΤΕΛΕΣΤΕ ΤΟΥΣ ΑΛΛΟ ΤΕΛΟΣ

Κλήση μιας λειτουργίας

Ας προσπαθήσουμε να καλέσουμε τη συνάρτηση που έχουμε κάνει σε ένα ανώνυμο μπλοκ στο ακόλουθο παράδειγμα.

Ρύθμιση SERVEROUTPUT ON SIZE 1000000 DECLARE n_x number n_y number n_z number BEGIN n_x: = try_parse ('256') n_y: = try_parse ('29 .72 ') n_z: = try_parse (' pqrs ') DBMS_OUTPUT.PUT_LINE (n_x n_y) DBMS_OUTPUT.PUT_LINE (n_z) ΤΕΛΟΣ /

Μπορούμε επίσης να καλέσουμε τη συνάρτηση σε μια δήλωση SELECT. Τώρα που γνωρίζουμε πώς μπορούμε να χρησιμοποιήσουμε συναρτήσεις σε PL / SQL, ας προσπαθήσουμε να καταλάβουμε πώς δουλεύουμε με τις διαδικασίες στο PL / SQL.

Διαδικασία PL / SQL

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

Ας ρίξουμε μια ματιά σε ένα απλό παράδειγμα για να κατανοήσουμε πώς λειτουργεί η διαδικασία σε PL / SQL

ΔΗΜΙΟΥΡΓΙΑ Ή ΑΝΤΙΚΑΤΑΣΤΑΣΗ ΔΙΑΔΙΚΑΣΙΑ adjust_salary (in_employee_id IN EMPLOYEES.EMPLOYEE_ID% TYPE, in_percent IN NUMBER) ΕΙΝΑΙ ΕΝΑΡΞΗ - ενημέρωση μισθού υπαλλήλου ΕΝΗΜΕΡΩΣΗ υπαλλήλων SET μισθός = μισθός + μισθός * in_percent / 100 WHERE ملازم_id = in_employee_id

Στο παραπάνω παράδειγμα, έχουμε δύο παραμέτρους, η διαδικασία προσαρμόζει τον μισθό κατά ένα δεδομένο ποσοστό και η λέξη-κλειδί ΕΝΗΜΕΡΩΣΗ ενημερώνει την τιμή στις πληροφορίες μισθού.

Κεφαλίδα διαδικασίας

Η ενότητα πριν από τη λέξη-κλειδί IS ονομάζεται κεφαλίδα διαδικασίας. Τα παρακάτω είναι μερικοί δείκτες που πρέπει να είστε εξοικειωμένοι με τις διαδικασίες.

  • σχήμα - Είναι το προαιρετικό όνομα του σχήματος στο οποίο ανήκει η διαδικασία.

  • όνομα - Το όνομα της διαδικασίας που πρέπει να ξεκινά με ένα ρήμα.

  • Παράμετροι - Είναι η προαιρετική λίστα παραμέτρων.

  • ΕΛΕΓΧΟΣ - Καθορίζει εάν η διαδικασία θα εκτελεστεί με το προνόμιο του τρέχοντος χρήστη ή του αρχικού κατόχου της διαδικασίας.

Σώμα διαδικασίας

Όλα όσα έρχονται μετά τη λέξη-κλειδί IS ονομάζονται το σώμα διαδικασίας. Έχουμε δηλώσεις δήλωσης, εξαίρεσης και εκτέλεσης στο σώμα της διαδικασίας. Σε αντίθεση με τη συνάρτηση, η λέξη-κλειδί RETURN σε μια διαδικασία χρησιμοποιείται για τη διακοπή της εκτέλεσης και την επιστροφή του ελέγχου στον καλούντα.

Κλήση μιας διαδικασίας

Ας δούμε πώς μπορούμε να καλέσουμε μια διαδικασία σε PL / SQL.

EXEC procedure_name (param1, param2 & hellipparamN)

Μπορούμε να καλέσουμε τις διαδικασίες χωρίς παραμέτρους, χρησιμοποιώντας μόνο τη λέξη-κλειδί EXEC και το όνομα διαδικασίας. Τώρα που γνωρίζουμε πώς μπορούμε να εργαστούμε με τις διαδικασίες, ας προσπαθήσουμε να καταλάβουμε πώς χρησιμοποιούνται τα ένθετα μπλοκ στο PL / SQL.

Ένθετο μπλοκ

Ένα ένθετο μπλοκ δεν είναι παρά ένας συνδυασμός ενός ή περισσότερων μπλοκ PL / SQL για καλύτερο έλεγχο της εκτέλεσης και του εξαιρετικού χειρισμού του προγράμματος.

Εδώ είναι ένα απλό παράδειγμα ένθετου μπλοκ.

ΡΥΘΜΙΣΗ SERVEROUTPUT ON SIZE 1000000 DECLARE n_emp_id EMPLOYEES.EMPLOYEE_ID% TYPE: = & emp_id1 BEGIN DECLARE n_emp_id υπαλλήλους.employee_id% TYPE: = & emp_id2 v_name υπαλλήλους.first_name% TOMP_Name_NAME_NAME_Name του υπαλλήλου '|| n_emp_id ||' είναι '|| v_name) ΕΞΑΙΡΕΣΗ ΟΧΙ__δεδομένα_ΒΡΙΣΤΕ THEN DBMS_OUTPUT.PUT_LINE (' Υπάλληλος '|| n_emp_id ||' δεν βρέθηκε ') ΤΕΛΟΣ ΤΕΛΟΣ /

Το εξωτερικό μπλοκ PL / SQL στο παραπάνω παράδειγμα είναι γνωστό ως γονικό μπλοκ ή μπλοκ εγκλεισμού, το εσωτερικό μπλοκ, από την άλλη πλευρά, είναι γνωστό ως θυγατρικό μπλοκ ή κλειστό μπλοκ.

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

Αποκλεισμός ετικέτας

Μπορούμε να ξεπεράσουμε αυτό το ζήτημα με την ετικέτα μπλοκ που μας βοηθά να κάνουμε αναφορές σε μεταβλητές μέσα σε μπλοκ χρησιμοποιώντας μια ετικέτα.

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

 <>ΔΗΛΩΣΗ ... ΞΕΚΙΝΗΣΤΕ ... ΤΕΛΟΣ

Η χρήση μιας ετικέτας μπλοκ βοηθά στη βελτίωση της αναγνωσιμότητας του κώδικα, αποκτά καλύτερο έλεγχο και κάνει αναφορές στα μπλοκ. Τώρα που γνωρίζουμε πώς μπορούμε να δουλέψουμε με ένθετα μπλοκ, ας προσπαθήσουμε να καταλάβουμε πώς λειτουργεί το IF STATEMENT σε PL / SQL.

Δήλωση IF

Το PL / SQL έχει τρεις δηλώσεις IF

  • ΑΝ ΤΟΤΕ - Είναι η απλούστερη ΔΗΛΩΣΗ ΕΑΝ εάν η συνθήκη είναι αληθής, οι δηλώσεις θα εκτελέσουν, εάν η συνθήκη είναι ψευδής, δεν κάνει τίποτα.

    διαχείριση προμηθειών στη διαχείριση έργων
  • ΕΑΝ-ΑΛΛΟ - Σε αυτό, προστίθεται η ρήτρα ELSE για μια εναλλακτική ακολουθία δηλώσεων.

  • IF-THEN-ELSEIF - Μας επιτρέπει να εκτελέσουμε πολλαπλές συνθήκες δοκιμής σε μια σειρά.

Σύνταξη IF-THEN

ΕΑΝ η συνθήκη ΑΛΛΑ ακολουθεί_από_διαστάσεις ΤΕΛΟΣ ΕΑΝ

Σύνταξη IF-THEN-ELSE

ΕΑΝ συνθήκη THEN ακολουθία_of_if_statements ELSE ακολουθία_of_else_statements ΤΕΛΟΣ IF

Σύνταξη IF-THEN-ELSEIF

IF συνθήκη1 THEN ακολουθία_of_statements1 ELSIF συνθήκη2 THEN ακολουθία_of_statements2 ELSE ακολουθία_of_statements3 ΤΕΛΟΣ IF

Τώρα που έχουμε τελειώσει με τη δήλωση IF Ας δούμε τη δήλωση CASE στο PL / SQL.

Δήλωση ΥΠΟΘΕΣΗΣ

Η δήλωση CASE βοηθά ουσιαστικά στην εκτέλεση μιας ακολουθίας δηλώσεων με βάση έναν επιλογέα. Ένας επιλογέας, σε αυτήν την περίπτωση, μπορεί να είναι οτιδήποτε, μπορεί να είναι μια μεταβλητή, συνάρτηση ή μια απλή έκφραση. Εδώ είναι ένα απλό παράδειγμα για να δείξετε τη σύνταξη της δήλωσης CASE στο PL / SQL.

[<>] ΠΕΡΙΠΤΩΣΗ [ΑΛΗΘΕΙΑ | επιλογέας] ΠΟΤΕ έκφραση1 ΑΛΛΕΣ ακολουθίες_αριθμοί1 ΠΟΤΕ έκφραση2 ΑΛΛΕΣ ακολουθία_αυτές_διαστάσεις2 ... ΠΟΤΕ έκφρασηΝ ΤΟ ΑΛΛΑ ακολουθία_α_διαστάσειςN [ELSE ακολουθία_of_statementsN + 1] ΤΕΛΟΣ ΥΠΟΘΕΣΗ [label_name]

Στην παραπάνω σύνταξη, μετά τη λέξη-κλειδί CASE έρχεται ο επιλογέας. Το PL / SQL θα αξιολογήσει τον επιλογέα μόνο μία φορά για να προσδιορίσει ποια δήλωση πρέπει να εκτελεστεί.

Ακολουθεί ο επιλογέας είναι η λέξη-κλειδί ΠΟΤΕ. Εάν η έκφραση ικανοποιεί τον επιλογέα τότε η αντίστοιχη δήλωση μετά την εκτέλεση της λέξης-κλειδιού.

Τώρα που γνωρίζουμε πώς μπορούμε να χρησιμοποιήσουμε μια δήλωση CASE, ας προσπαθήσουμε να καταλάβουμε πώς θα χρησιμοποιήσουμε τις δηλώσεις βρόχου στο PL / SQL.

Δήλωση βρόχου

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

LOOP ακολουθία_of_statements ΤΕΛΟΣ LOOP

Πρέπει να υπάρχει τουλάχιστον μία εκτελέσιμη δήλωση μεταξύ της λέξης-κλειδιού LOOP και END LOOP.

Βρόχος με τη δήλωση EXIT

Το EXIT και EXIT όταν οι δηλώσεις σας επιτρέπουν να βγείτε από το βρόχο. EXIT WHEN η δήλωση τερματίζει τον βρόχο υπό όρους ενώ το EXIT τερματίζει την εκτέλεση χωρίς όρους.

ΒΡΟΧΟΣ ... ΕΞΟΔΟΣ όταν η κατάσταση τελειώνει

Ετικέτα βρόχου

Μια ετικέτα βρόχου χρησιμοποιείται για να προσδιορίσει το όνομα της μεταβλητής μετρητή βρόχου όταν χρησιμοποιείται σε ένθετο βρόχο. Ακολουθεί η σύνταξη μιας ετικέτας βρόχου.

 <>LOOP ακολουθία_of_statements ΤΕΛΟΣ ετικέτα LOOP

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

Κατάσταση Loop

Μπορούμε να χρησιμοποιήσουμε τη δήλωση βρόχου WHILE όταν ο αριθμός των εκτελέσεων δεν ορίζεται μέχρι να ξεκινήσει η εκτέλεση. Η ακόλουθη σύνταξη χρησιμοποιείται για μια δήλωση βρόχου WHILE στο PL / SQL.

Ενώ ο όρος LOOP ακολουθία_of_statements ΛΕΙΤΟΥΡΓΙΑ ΛΕΙΤΟΥΡΓΙΑΣ

Η συνθήκη στη σύνταξη είναι μια δυαδική τιμή ή παράσταση που αξιολογείται είτε TRUE, FALSE ή NULL. Εάν η συνθήκη είναι ΑΛΗΘΕΙΑ, οι δηλώσεις θα εκτελεστούν, εάν είναι ΛΑΘΟΣ, η εκτέλεση σταματά και το στοιχείο ελέγχου πηγαίνει στην επόμενη εκτελέσιμη δήλωση.

Τώρα που γνωρίζουμε πώς μπορούμε να χρησιμοποιήσουμε μια δήλωση βρόχου WHILE, ας ρίξουμε μια ματιά στη δήλωση βρόχου FOR.

Για δήλωση βρόχου

Μια δήλωση βρόχου FOR στο PL / SQL μας επιτρέπει να εκτελέσουμε μια ακολουθία δηλώσεων για ορισμένο αριθμό φορών. Ακολουθεί η σύνταξη για να χρησιμοποιήσετε τη δήλωση βρόχου FOR στο PL / SQL

ΓΙΑ το loop_counter IN [REVERSE] lower_bound .. Higher_bound LOOP ακολουθία_of_statements ΤΕΛΟΣ

Το PL / SQL δημιουργεί αυτόματα μια τοπική μεταβλητή loop_counter με έναν τύπο δεδομένων INTEGER για τον βρόχο, ώστε να μην χρειάζεται να το δηλώσετε ρητά. Το χαμηλότερο ... υψηλό εύρος είναι το εύρος στο οποίο επαναλαμβάνεται ο βρόχος. Επίσης, πρέπει να έχετε τουλάχιστον μία εκτελέσιμη δήλωση μεταξύ λέξεων-κλειδιών LOOP και END LOOP.

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

Εξαιρετικός χειρισμός

Σε PL / SQL κάθε είδους σφάλμα αντιμετωπίζεται ως εξαίρεση. Μια εξαίρεση μπορεί να αντιμετωπιστεί ως μια ειδική κατάσταση που μπορεί να αλλάξει ή να αλλάξει τη ροή εκτέλεσης. Στο PL / SQL, υπάρχουν δύο τύποι εξαιρέσεων.

  • Εξαίρεση συστήματος - Αυξάνεται από τον χρόνο εκτέλεσης PL / SQL όταν εντοπίζει σφάλμα.

  • Εξαίρεση καθορισμένη από προγραμματιστή - Αυτές οι εξαιρέσεις ορίζονται από τον προγραμματιστή σε μια συγκεκριμένη εφαρμογή.

Ορισμός μιας εξαίρεσης

Πρέπει να δηλωθεί μια εξαίρεση στο PL / SQL για να μπορέσει να αυξηθεί. Μπορούμε να ορίσουμε την εξαίρεση χρησιμοποιώντας τη λέξη-κλειδί ΕΞΑΙΡΕΣΗ όπως κάναμε στο παρακάτω παράδειγμα.

EXCEPTION_NAME EXCEPTION

Για να δημιουργήσουμε μια εξαίρεση, χρησιμοποιούμε τη λέξη-κλειδί RAISE.

ΑΝΑΚΑΛΥΨΤΕ ΕΞΑΙΡΕΣΗ_NAME

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

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

Έχετε μια ερώτηση για εμάς; Παρακαλώ αναφέρετέ το στην ενότητα σχολίων του ' Εκμάθηση PL / SQL Και θα επικοινωνήσω μαζί σας.