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