PL / SQL Block: STRUCTURE, Syntax, ANONYMOUS Παράδειγμα

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

Anonim

Τι είναι το μπλοκ PL / SQL;

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

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

Σε αυτό το σεμινάριο, θα μάθετε:

  • Τι είναι το μπλοκ PL / SQL;
  • Δομή μπλοκ
  • Σύνταξη μπλοκ PL / SQL
  • Τύποι μπλοκ PL / SQL

Δομή μπλοκ

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

  1. Τμήμα δήλωσης
  2. Ενότητα εκτέλεσης
  3. Ενότητα Εξαίρεσης-Χειρισμού

Η παρακάτω εικόνα απεικονίζει το διαφορετικό μπλοκ PL / SQL και τη σειρά των τμημάτων τους.

Τμήμα δήλωσης

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

  • Αυτή η συγκεκριμένη ενότητα είναι προαιρετική και μπορεί να παραλειφθεί εάν δεν απαιτούνται δηλώσεις.
  • Αυτή θα πρέπει να είναι η πρώτη ενότητα σε ένα μπλοκ PL / SQL, εάν υπάρχει.
  • Αυτή η ενότητα ξεκινά με τη λέξη-κλειδί "ΔΗΛΩΣΗ" για κανόνες ετικέτας και ανώνυμο αποκλεισμό. Για άλλα υποπρογράμματα, αυτή η λέξη-κλειδί δεν θα υπάρχει. Αντ 'αυτού, το τμήμα μετά τον ορισμό ονόματος υποπρογράμματος σηματοδοτεί την ενότητα δήλωσης.
  • Αυτή η ενότητα πρέπει πάντα να ακολουθείται από την ενότητα εκτέλεσης.

Τμήμα εκτέλεσης

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

  • Αυτό μπορεί να περιέχει τόσο τον κωδικό PL / SQL όσο και τον κώδικα SQL.
  • Αυτό μπορεί να περιέχει ένα ή πολλά μπλοκ μέσα του ως ένθετο μπλοκ.
  • Αυτή η ενότητα ξεκινά με τη λέξη-κλειδί "BEGIN".
  • Αυτή η ενότητα πρέπει να ακολουθείται είτε από την ενότητα "ΤΕΛΟΣ" είτε με Εξαίρεση-χειρισμός (εάν υπάρχει)

Ενότητα Εξαίρεσης-Χειρισμού:

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

  • Αυτή είναι η ενότητα στην οποία αντιμετωπίζεται η εξαίρεση που εμφανίζεται στο μπλοκ εκτέλεσης.
  • Αυτή η ενότητα είναι το τελευταίο μέρος του μπλοκ PL / SQL.
  • Ο έλεγχος από αυτήν την ενότητα δεν μπορεί ποτέ να επιστρέψει στο μπλοκ εκτέλεσης.
  • Αυτή η ενότητα ξεκινά με τη λέξη-κλειδί «ΕΞΑΙΡΕΣΗ».
  • Αυτή η ενότητα πρέπει πάντα να ακολουθείται από τη λέξη-κλειδί «ΤΕΛΟΣ».

Η λέξη-κλειδί «ΤΕΛΟΣ» σηματοδοτεί το τέλος του μπλοκ PL / SQL.

Σύνταξη μπλοκ PL / SQL

Παρακάτω είναι η σύνταξη της δομής μπλοκ PL / SQL.

DECLARE --optionalBEGIN --mandatoryEXCEPTION --optionalEND; --mandatory/

Σημείωση: Ένα μπλοκ πρέπει πάντα να ακολουθείται από το '/' το οποίο στέλνει τις πληροφορίες στον μεταγλωττιστή σχετικά με το τέλος του μπλοκ.

Τύποι μπλοκ PL / SQL

Τα μπλοκ PL / SQL είναι κυρίως δύο τύπων.

  1. Ανώνυμα μπλοκ
  2. Ονομασμένα μπλοκ

Ανώνυμα μπλοκ:

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

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

Ακολουθούν μερικά ακόμη χαρακτηριστικά των Ανώνυμων μπλοκ.

  • Αυτά τα μπλοκ δεν έχουν καθορισμένο όνομα αναφοράς για αυτά.
  • Αυτά τα μπλοκ ξεκινούν με τη λέξη-κλειδί "ΔΗΛΩΣΗ" ή "BEGIN".
  • Δεδομένου ότι αυτά τα μπλοκ δεν έχουν κανένα όνομα αναφοράς, αυτά δεν μπορούν να αποθηκευτούν για μεταγενέστερο σκοπό. Θα δημιουργηθούν και θα εκτελεστούν στην ίδια συνεδρία.
  • Μπορούν να καλέσουν τα άλλα ονόματα μπλοκ, αλλά δεν είναι δυνατή η κλήση σε ανώνυμο μπλοκ καθώς δεν έχει καμία αναφορά.
  • Μπορεί να έχει ένθετο μπλοκ σε αυτό που μπορεί να ονομάζεται ή ανώνυμο. Μπορεί επίσης να τοποθετηθεί σε οποιοδήποτε μπλοκ.
  • Αυτά τα μπλοκ μπορούν να έχουν και τα τρία τμήματα του μπλοκ, στα οποία η ενότητα εκτέλεσης είναι υποχρεωτική, οι άλλες δύο ενότητες είναι προαιρετικές.

Ονομασμένα μπλοκ:

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

Ακολουθούν μερικά ακόμη χαρακτηριστικά των ομάδων με όνομα.

  • Αυτά τα μπλοκ μπορούν να κληθούν από άλλα μπλοκ.
  • Η δομή του μπλοκ είναι ίδια με ένα ανώνυμο μπλοκ, εκτός από το ότι δεν θα ξεκινήσει ποτέ με τη λέξη-κλειδί «ΔΗΛΩΣΗ». Αντ 'αυτού, θα ξεκινήσει με τη λέξη-κλειδί «ΔΗΜΙΟΥΡΓΙΑ» που δίνει εντολή στον μεταγλωττιστή να το δημιουργήσει ως αντικείμενο βάσης δεδομένων.
  • Αυτά τα μπλοκ μπορούν να τοποθετηθούν σε άλλα μπλοκ. Μπορεί επίσης να περιέχει ένθετα μπλοκ.
  • Τα ονομαζόμενα μπλοκ είναι βασικά δύο τύπων:
  1. Διαδικασία
  2. Λειτουργία
Θα μάθουμε περισσότερα για αυτά τα ονόματα μπλοκ στα θέματα "Διαδικασία" και "Λειτουργία" σε επόμενο σεμινάριο

Περίληψη

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