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

⚡ Έξυπνη Σύνοψη

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

  • 🏷️ Ορισμός: Ένα αναγνωριστικό ονομάζει οποιοδήποτε αντικείμενο PL/SQL, από μια μεταβλητή έως ένα πακέτο ή μια ετικέτα.
  • 📏 κανόνες: Πρέπει να ξεκινά με ένα γράμμα, να έχει το πολύ 30 χαρακτήρες και να μην περιέχει κενά διαστήματα.
  • 🔠 Επιτρεπόμενες πινακίδες: Επιτρέπονται το σύμβολο του δολαρίου, η κάτω παύλα και η κατακερματισμένη λέξη μέσα σε ένα αναγνωριστικό.
  • 🧭 Σύμβαση Ονοματολογίας: Το πρώτο γράμμα δηλώνει το επίπεδο (P, L, G) και το δεύτερο δηλώνει τον τύπο (C, V, N, R, T).
  • 📦 Μεταβλητές: Μια μεταβλητή είναι ένα αναγνωριστικό συνδεδεμένο με μια περιοχή αποθήκευσης, που δηλώνεται με έναν έγκυρο τύπο δεδομένων.
  • 📝 Δήλωση: Οι μεταβλητές δηλώνονται στην δηλωτική ενότητα πριν από τη χρήση.
  • ➡️ ΑΝΑΘΕΣΗ ΕΡΓΑΣΙΑΣ: Μια τιμή μπορεί να οριστεί κατά τη δήλωση ή αργότερα χρησιμοποιώντας τον τελεστή :=.

Συμβάσεις ονομασίας αναγνωριστικών PL/SQL

Τι είναι τα αναγνωριστικά PL/SQL;

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

Ιδιότητες των αναγνωριστικών PL/SQL

Ακολουθούν οι κύριες ιδιότητες των αναγνωριστικών PL/SQL:

  • Πρέπει να ξεκινά με ένα γράμμα.
  • Το μέγιστο μέγεθος περιορίζεται σε 30 χαρακτήρες.
  • Δεν μπορεί να περιέχει χαρακτήρες κενού διαστήματος.
  • Μπορεί να περιέχει ένα σύμβολο δολαρίου ('$'), μια κάτω παύλα ('_') και ένα σύμβολο δίεσης ('#').
  • Δεν κάνει διάκριση πεζών-κεφαλαίων.

Συμβάσεις ονομασίας σε PL/SQL

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

Οι συνήθεις συμβάσεις ονοματοδοσίας που χρησιμοποιούνται στην PL/SQL είναι οι εξής.

Το πρώτο γράμμα καθορίζει το δηλωμένο επίπεδο της μεταβλητής:

  • 'P' – μεταβλητή που δηλώνεται σε επίπεδο παραμέτρου.
  • 'L' – μεταβλητή που δηλώνεται στο τοπικό μπλοκ.
  • 'G' – μεταβλητή που δηλώνεται σε καθολικό επίπεδο.

Το δεύτερο γράμμα καθορίζει τον τύπο του αναγνωριστικού:

  • 'C' – αναγνωριστικό δρομέα.
  • 'V' – τύπος δεδομένων VARCHAR και CHAR.
  • 'N' – Τύπος δεδομένων ΑΡΙΘΜΟΣ.
  • 'R' - τύπος εγγραφής.
  • 'T' – τύπος πίνακα.

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

  • Lv_name – μεταβλητή τοπικού επιπέδου τύπου δεδομένων VARCHAR/CHAR.
  • Pc_num – αναγνωριστικό δρομέα επιπέδου παραμέτρου.
  • Gn_user_id – μεταβλητή καθολικού επιπέδου τύπος αριθμητικών δεδομένων.

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

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

Δήλωση μεταβλητής PL/SQL

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

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

Σύνταξη

<variable_name> <datatype>;

Η παραπάνω σύνταξη δείχνει πώς να δηλώσετε μια μεταβλητή στην δηλωτική ενότητα.

Αποθήκευση δεδομένων σε μεταβλητές PL/SQL

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

Σύνταξη

<variable_name> <datatype> := <default_value>;

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

<variable_name> <datatype>;
<variable_name> := <value>;

Η παραπάνω σύνταξη δείχνει πώς να αντιστοιχίσετε μια τιμή σε μια ήδη δηλωμένη μεταβλητή.

Παράδειγμα 1: Σε αυτό το παράδειγμα, μαθαίνουμε πώς να δηλώσουμε μια μεταβλητή και να της αντιστοιχίσουμε μια τιμή. Εκτυπώνουμε 'GURU99' στο ακόλουθο πρόγραμμα χρησιμοποιώντας μεταβλητές.

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

DECLARE
lv_name VARCHAR2(50);
lv_name_2 VARCHAR2(50) := 'GURU99';
BEGIN
lv_name := lv_name_2;
dbms_output.put_line(lv_name);
END;
/

Code εξήγηση

  • Code γραμμή 2: Δηλώνοντας τη μεταβλητή 'lv_name' του VARCHAR2 με μέγεθος 50.
  • Code γραμμή 3: Δηλώνοντας τη μεταβλητή 'lv_name_2' του VARCHAR2 με μέγεθος 50 και αντιστοιχίζοντας την προεπιλεγμένη τιμή χρησιμοποιώντας το literal 'GURU99'.
  • Code γραμμή 5: Η τιμή για τη μεταβλητή 'lv_name' εκχωρείται από τη μεταβλητή 'lv_name_2'.
  • Code γραμμή 6: Εκτύπωση της αποθηκευμένης τιμής της μεταβλητής 'lv_name'.

Όταν εκτελεστεί ο παραπάνω κώδικας, θα λάβετε την ακόλουθη έξοδο.

Παραγωγή

GURU99

Συχνές Ερωτήσεις

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

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

Ο τελεστής := αντιστοιχίζει μια τιμή σε μια μεταβλητή. Ένα μοναδικό = χρησιμοποιείται για σύγκριση εντός των συνθηκών. Η ανάμειξή τους είναι ένα συνηθισμένο σφάλμα για αρχάριους που προκαλεί σφάλμα κατά τη μεταγλώττιση.

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

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

Συνοψίστε αυτήν την ανάρτηση με: