Oracle Τύποι δεδομένων PL/SQL: Boolean, Number, Date [Παράδειγμα]
Τι είναι οι τύποι δεδομένων PL/SQL;
Τύποι δεδομένων σε PL/SQL χρησιμοποιούνται για τον καθορισμό του τρόπου με τον οποίο θα αποθηκεύονται, θα χειρίζονται και θα αντιμετωπίζονται τα δεδομένα Oracle κατά την αποθήκευση και επεξεργασία δεδομένων. Οι τύποι δεδομένων συσχετίζονται με τη συγκεκριμένη μορφή αποθήκευσης και περιορισμούς εύρους. Σε Oracle, σε κάθε τιμή ή σταθερά εκχωρείται ένας τύπος δεδομένων.
Η κύρια διαφορά μεταξύ PL/SQL και SQL τύποι δεδομένων είναι, ο τύπος δεδομένων SQL περιορίζεται στη στήλη πίνακα, ενώ οι τύποι δεδομένων PL/SQL χρησιμοποιούνται στο Μπλοκ PL/SQL. Περισσότερα για αυτό αργότερα στο σεμινάριο.
Ακολουθεί το διάγραμμα των διαφορετικών Oracle Τύποι δεδομένων PL/SQL:
Τύπος δεδομένων ΧΑΡΑΚΤΗΡΑ PL/SQL
Αυτός ο τύπος δεδομένων αποθηκεύει βασικά αλφαριθμητικούς χαρακτήρες σε μορφή συμβολοσειράς.
Οι κυριολεκτικές τιμές θα πρέπει πάντα να περικλείονται σε μεμονωμένα εισαγωγικά ενώ τους αντιστοιχίζονται στον τύπο δεδομένων CHARACTER.
Αυτός ο τύπος δεδομένων χαρακτήρων ταξινομείται περαιτέρω ως εξής:
- Τύπος δεδομένων CHAR (σταθερό μέγεθος συμβολοσειράς)
- VARCHAR2 Τύπος δεδομένων (μεταβλητό μέγεθος συμβολοσειράς)
- VARCHAR Τύπος δεδομένων
- NCHAR (εγγενές σταθερό μέγεθος συμβολοσειράς)
- NVARCHAR2 (εγγενές μέγεθος συμβολοσειράς μεταβλητής)
- LONG και LONG RAW
Τύπος δεδομένων | Descriptιόν | Σύνταξη |
---|---|---|
ΑΠΑΝΘΡΑΚΩΝΩ | Αυτός ο τύπος δεδομένων αποθηκεύει την τιμή συμβολοσειράς και το μέγεθος της συμβολοσειράς καθορίζεται τη στιγμή της δήλωσης του μεταβλητή.
|
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'; Επεξήγηση σύνταξης:
|
ΜΑΚΡΥ και ΜΑΚΡΥ | Αυτός ο τύπος δεδομένων χρησιμοποιείται για την αποθήκευση μεγάλου κειμένου ή μη επεξεργασμένων δεδομένων έως το μέγιστο μέγεθος των 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.
- Η δεύτερη δήλωση δηλώνει ότι η μεταβλητή 'Β' είναι τύπου αριθμητικών δεδομένων με συνολική ακρίβεια 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;
Επεξήγηση σύνταξης:
- Στα παραπάνω, η μεταβλητή 'νέο έτος' δηλώνεται ως τύπος δεδομένων DATE και εκχωρείται η τιμή της 1ης Ιανουαρίουst, ημερομηνία 2015.
- Η δεύτερη δήλωση δηλώνει τη μεταβλητή current_date ως τύπο δεδομένων DATE και εκχωρεί την τιμή με την τρέχουσα ημερομηνία συστήματος.
- Και οι δύο αυτές μεταβλητές περιέχουν τις πληροφορίες χρόνου.
Τύπος δεδομένων PL/SQL LOB
Αυτός ο τύπος δεδομένων χρησιμοποιείται κυρίως για την αποθήκευση και το χειρισμό μεγάλων μπλοκ μη δομημένων δεδομένων όπως εικόνες, αρχεία πολυμέσων κ.λπ. Oracle προτιμά το LOB αντί για τον τύπο δεδομένων LONG καθώς είναι πιο ευέλικτο από τον τύπο δεδομένων LONG. Τα παρακάτω είναι τα λίγα κύρια πλεονεκτήματα του LOB έναντι του τύπου δεδομένων LONG.
- Ο αριθμός στηλών σε έναν πίνακα με τύπο δεδομένων LONG περιορίζεται στο 1, ενώ ένας πίνακας δεν έχει περιορισμό σε έναν αριθμό στηλών με τύπο δεδομένων LOB.
- Το εργαλείο διεπαφής δεδομένων δέχεται τον τύπο δεδομένων LOB του πίνακα κατά την αναπαραγωγή δεδομένων, αλλά παραλείπει τη στήλη LONG του πίνακα. Αυτές οι LONG στήλες πρέπει να αναπαραχθούν χειροκίνητα.
- Το μέγεθος της στήλης LONG είναι 2 GB, ενώ το LOB μπορεί να αποθηκεύσει έως και 128 TB.
- Oracle βελτιώνει συνεχώς τον τύπο δεδομένων LOB σε κάθε κυκλοφορία τους σύμφωνα με τις σύγχρονες απαιτήσεις, ενώ ο τύπος δεδομένων LONG είναι σταθερός και δεν λαμβάνει πολλές ενημερώσεις.
Επομένως, είναι πάντα καλό να χρησιμοποιείτε τον τύπο δεδομένων LOB αντί για τον τύπο δεδομένων LONG. Ακολουθούν οι διαφορετικοί τύποι δεδομένων LOB. Μπορούν να αποθηκεύσουν έως και 128 terabyte.
- Blob
- CLOB και NCLOB
- ΠΡΟΦΙΛ
Τύπος δεδομένων | Descriptιόν | Σύνταξη |
---|---|---|
Blob | Αυτός ο τύπος δεδομένων αποθηκεύει τα δεδομένα LOB σε δυαδική μορφή αρχείου έως το μέγιστο μέγεθος των 128 TB. Αυτό δεν αποθηκεύει δεδομένα με βάση τις λεπτομέρειες του συνόλου χαρακτήρων, έτσι ώστε να μπορεί να αποθηκεύσει τα μη δομημένα δεδομένα, όπως αντικείμενα πολυμέσων, εικόνες κ.λπ. |
Binary_data BLOB; Επεξήγηση σύνταξης:
|
CLOB και NCLOB | Ο τύπος δεδομένων CLOB αποθηκεύει τα δεδομένα LOB στο σύνολο χαρακτήρων, ενώ το NCLOB αποθηκεύει τα δεδομένα στο εγγενές σύνολο χαρακτήρων. Εφόσον αυτοί οι τύποι δεδομένων χρησιμοποιούν χώρο αποθήκευσης βάσει συνόλου χαρακτήρων, δεν μπορούν να αποθηκεύσουν δεδομένα όπως πολυμέσα, εικόνες κ.λπ. που δεν μπορούν να τοποθετηθούν σε μια συμβολοσειρά χαρακτήρων. Το μέγιστο μέγεθος αυτών των τύπων δεδομένων είναι 128 TB. |
Charac_data CLOB; Επεξήγηση σύνταξης:
|
ΠΡΟΦΙΛ |
|
Σύνοψη
Καλύψαμε τους διαφορετικούς απλούς τύπους δεδομένων που είναι διαθέσιμοι σε PL / SQL μαζί με τη σύνταξή τους. Θα μάθουμε για πολύπλοκους τύπους δεδομένων σε περαιτέρω θέματα.