Oracle Τύποι δεδομένων PL/SQL: Boolean, Number, Date [Παράδειγμα]
⚡ Έξυπνη Σύνοψη
Οι τύποι δεδομένων PL/SQL ορίζουν πώς Oracle Αποθηκεύει, χειρίζεται και περιορίζει κάθε τιμή σε ένα μπλοκ. Ομαδοποιούνται σε οικογένειες χαρακτήρων, αριθμών, Boolean, ημερομηνίας και μεγάλων αντικειμένων (LOB), καθεμία με τη δική της μορφή αποθήκευσης, όρια μεγέθους και κανόνες ανάθεσης.
Τι είναι οι τύποι δεδομένων PL/SQL;
Τύποι δεδομένων στην PL/SQL ορίστε πώς τα δεδομένα θα αποθηκεύονται, θα διαχειρίζονται και θα επεξεργάζονται από Oracle κατά την αποθήκευση και την επεξεργασία. Οι τύποι δεδομένων σχετίζονται με μια συγκεκριμένη μορφή αποθήκευσης και περιορισμούς εύρους. Στο Oracle, σε κάθε τιμή ή σταθερά αντιστοιχίζεται ένας τύπος δεδομένων.
Η κύρια διαφορά μεταξύ PL/SQL και SQL οι τύποι δεδομένων SQL περιορίζονται σε στήλες πίνακα, ενώ οι τύποι δεδομένων PL/SQL χρησιμοποιούνται στο Μπλοκ PL/SQL. Περισσότερα για αυτό αργότερα στο σεμινάριο.
Ακολουθεί ένα διάγραμμα των διαφορετικών Oracle Τύποι δεδομένων PL/SQL:

Τύπος δεδομένων ΧΑΡΑΚΤΗΡΑ PL/SQL
Αυτός ο τύπος δεδομένων αποθηκεύει αλφαριθμητικούς χαρακτήρες σε μορφή συμβολοσειράς. Οι τιμές των κυριολεκτικών χαρακτήρων θα πρέπει πάντα να περικλείονται σε μονά εισαγωγικά κατά την αντιστοίχισή τους σε έναν τύπο δεδομένων ΧΑΡΑΚΤΗΡΑ.
Αυτός ο τύπος δεδομένων χαρακτήρων ταξινομείται περαιτέρω ως εξής:
- Τύπος δεδομένων CHAR (σταθερό μέγεθος συμβολοσειράς)
- Τύπος δεδομένων VARCHAR2 (μεταβλητό μέγεθος συμβολοσειράς)
- Τύπος δεδομένων VARCHAR
- NCHAR (εγγενές σταθερό μέγεθος συμβολοσειράς)
- NVARCHAR2 (εγγενές μέγεθος συμβολοσειράς μεταβλητής)
- LONG και LONG RAW
| Τύπος δεδομένων | Περιγραφή | Σύνταξη |
|---|---|---|
| ΑΠΑΝΘΡΑΚΩΝΩ | Αυτός ο τύπος δεδομένων αποθηκεύει μια τιμή συμβολοσειράς και το μέγεθος της συμβολοσειράς καθορίζεται κατά τη στιγμή της δήλωσης της. μεταβλητή.
|
grade CHAR; manager CHAR (10):= 'guru99'; Επεξήγηση σύνταξης:
|
| ΒΑΡΚΑΡΗ2 | Αυτός ο τύπος δεδομένων αποθηκεύει μια συμβολοσειρά, αλλά το μήκος της δεν είναι σταθερό.
|
manager VARCHAR2(10) := 'guru99'; Επεξήγηση σύνταξης:
|
| VARCHAR | Αυτό είναι συνώνυμο με τον τύπο δεδομένων VARCHAR2.
|
manager VARCHAR(10) := 'guru99'; Επεξήγηση σύνταξης:
|
| ΝΧΑΡ | Αυτός ο τύπος δεδομένων είναι ο ίδιος με τον CHAR, αλλά το σύνολο χαρακτήρων είναι το εθνικό σύνολο χαρακτήρων.
|
native NCHAR(10);
Επεξήγηση σύνταξης:
|
| NVARCHAR2 | Αυτός ο τύπος δεδομένων είναι ο ίδιος με τον VARCHAR2, αλλά το σύνολο χαρακτήρων είναι το εθνικό σύνολο χαρακτήρων.
|
Native_var NVARCHAR2(10):= 'guru99'; Επεξήγηση σύνταξης:
|
| LONG και LONG RAW | Αυτός ο τύπος δεδομένων αποθηκεύει μεγάλο κείμενο ή ακατέργαστα δεδομένα έως και 2 GB.
|
Large_text LONG; Large_raw LONG RAW; Επεξήγηση σύνταξης:
Σημείωση: Η χρήση του τύπου δεδομένων LONG δεν συνιστάται από OracleΟ τύπος δεδομένων LOB θα πρέπει να προτιμάται. |
PL/SQL NUMBER Τύπος δεδομένων
Αυτός ο τύπος δεδομένων αποθηκεύει αριθμούς σταθερής ή κινητής υποδιαστολής με ακρίβεια έως και 38 ψηφία. Χρησιμοποιείται για εργασία με πεδία που περιέχουν μόνο αριθμητικά δεδομένα. Η μεταβλητή μπορεί να δηλωθεί είτε με ακρίβεια και λεπτομέρειες δεκαδικών ψηφίων είτε χωρίς αυτά. Οι τιμές δεν χρειάζεται να περικλείονται σε εισαγωγικά κατά την εκχώρηση.
A NUMBER(8,2); B NUMBER(8); C NUMBER;
Επεξήγηση σύνταξης:
- Η πρώτη δήλωση δηλώνει τη μεταβλητή 'A' αριθμητικού τύπου δεδομένων με συνολική ακρίβεια 8 και 2 δεκαδικά ψηφία.
- Το δεύτερο δηλώνει το 'B' αριθμητικού τύπου δεδομένων με συνολική ακρίβεια 8 και χωρίς δεκαδικά ψηφία.
- Το τρίτο είναι το πιο γενικό, δηλώνοντας 'C' τύπου δεδομένων αριθμού χωρίς περιορισμό στην ακρίβεια ή τα δεκαδικά ψηφία. Μπορεί να έχει έως και 38 ψηφία.
Τύπος δεδομένων PL/SQL BOOLEAN
Αυτός ο τύπος δεδομένων αποθηκεύει λογικές τιμές. Oracle Ο τύπος δεδομένων Boolean αντιπροσωπεύει είτε TRUE είτε FALSE και χρησιμοποιείται κυρίως σε δηλώσεις υπό όρους. Οι τιμές δεν χρειάζεται να περικλείονται σε εισαγωγικά κατά την εκχώρηση.
Var1 BOOLEAN;
Επεξήγηση σύνταξης:
- Η μεταβλητή 'Var1' δηλώνεται ως τύπος δεδομένων BOOLEAN. Η έξοδος θα είναι είτε true είτε false, ανάλογα με το σύνολο συνθήκης.
PL/SQL DATE Τύπος δεδομένων
Αυτός ο τύπος δεδομένων αποθηκεύει τιμές σε μορφή ημερομηνίας, όπως ημερομηνία, μήνα και έτος. Κάθε φορά που μια μεταβλητή ορίζεται με τύπο δεδομένων DATE, μπορεί να περιέχει πληροφορίες ώρας. Από προεπιλογή, η ώρα ορίζεται σε 12:00:00, εάν δεν έχει καθοριστεί. Οι τιμές πρέπει να περικλείονται σε εισαγωγικά κατά την εκχώρηση.
Το πρότυπο Oracle Η μορφή ώρας για την είσοδο και την έξοδο είναι 'ΗΗ-ΜΟΝ-ΕΕ', η οποία ορίζεται σε NLS_PARAMETERS (NLS_DATE_FORMAT) σε επίπεδο συνεδρίας.
newyear DATE:= '01-JAN-2015'; current_date DATE:= SYSDATE;
Επεξήγηση σύνταξης:
- Η μεταβλητή 'newyear' δηλώνεται ως τύπος δεδομένων DATE και της έχει εκχωρηθεί η τιμή 1 Ιανουαρίου 2015.
- Η δεύτερη δήλωση δηλώνει τον τύπο δεδομένων 'current_date' ως DATE και αντιστοιχίζει την τρέχουσα ημερομηνία συστήματος.
- Και οι δύο μεταβλητές περιέχουν πληροφορίες χρόνου.
Τύπος δεδομένων PL/SQL LOB
Αυτός ο τύπος δεδομένων χρησιμοποιείται κυρίως για την αποθήκευση και τον χειρισμό μεγάλων μπλοκ μη δομημένων δεδομένων, όπως εικόνες και αρχεία πολυμέσων. Oracle προτιμά τον τύπο δεδομένων LOB έναντι του τύπου δεδομένων LONG επειδή είναι πιο ευέλικτος. Τα κύρια πλεονεκτήματα του LOB έναντι του LONG είναι:
- Ένας πίνακας περιορίζεται σε μία στήλη LONG, ενώ δεν υπάρχει περιορισμός στον αριθμό των στηλών LOB.
- Τα εργαλεία διεπαφής δεδομένων δέχονται LOB κατά την αντιγραφή, αλλά παραλείπουν τις στήλες LONG, οι οποίες πρέπει να αντιγραφούν χειροκίνητα.
- Μια στήλη LONG αποθηκεύει έως και 2 GB, ενώ μια στήλη LOB μπορεί να αποθηκεύσει έως και 128 TB.
- Oracle Συνεχίζει να βελτιώνει τον τύπο δεδομένων LOB με κάθε κυκλοφορία, ενώ το LONG παραμένει σε μεγάλο βαθμό αμετάβλητο.
Επομένως, είναι πάντα καλό να χρησιμοποιείτε τον τύπο δεδομένων LOB αντί για LONG. Οι διαφορετικοί τύποι δεδομένων LOB παρακάτω μπορούν να αποθηκεύσουν έως και 128 terabyte:
- Blob
- CLOB και NCLOB
- ΠΡΟΦΙΛ
| Τύπος δεδομένων | Περιγραφή | Σύνταξη |
|---|---|---|
| Blob | Αυτός ο τύπος δεδομένων αποθηκεύει δεδομένα LOB σε μορφή δυαδικού αρχείου έως και 128 TB. Δεν αποθηκεύει δεδομένα με βάση λεπτομέρειες συνόλου χαρακτήρων, επομένως μπορεί να αποθηκεύσει μη δομημένα δεδομένα, όπως αντικείμενα πολυμέσων και εικόνες. |
Binary_data BLOB;
Επεξήγηση σύνταξης:
|
| CLOB και NCLOB | Το CLOB αποθηκεύει δεδομένα LOB στο σύνολο χαρακτήρων, ενώ το NCLOB αποθηκεύει δεδομένα στο εγγενές σύνολο χαρακτήρων. Επειδή αυτά χρησιμοποιούν χώρο αποθήκευσης που βασίζεται σε σύνολο χαρακτήρων, δεν μπορούν να αποθηκεύσουν δεδομένα όπως πολυμέσα ή εικόνες. Το μέγιστο μέγεθος είναι 128 TB. |
Charac_data CLOB;
Επεξήγηση σύνταξης:
|
| ΠΡΟΦΙΛ |
|

