Cosa sono i tipi di dati PL / SQL?
Un tipo di dati è associato al formato di archiviazione specifico e ai vincoli di intervallo. In Oracle, a ogni valore o costante viene assegnato un tipo di dati.
Fondamentalmente, definisce come i dati vengono archiviati, gestiti e trattati da Oracle durante l'archiviazione e l'elaborazione dei dati.
La principale differenza tra i tipi di dati PL / SQL e SQL è che i tipi di dati SQL sono limitati alla colonna della tabella mentre i tipi di dati PL / SQL vengono utilizzati nei blocchi PL / SQL. Maggiori informazioni su questo più avanti nel tutorial.
Di seguito è riportato il diagramma dei diversi tipi di dati in PL / SQL
In questo tutorial imparerai-
- Tipo di dati CHARACTER
- NUMERO tipo di dati
- Tipo di dati BOOLEANO
- Tipo di dati DATE
- Tipo di dati LOB
Tipo di dati CHARACTER:
Questo tipo di dati memorizza fondamentalmente i caratteri alfanumerici in formato stringa.
I valori letterali devono essere sempre racchiusi tra virgolette singole durante l'assegnazione al tipo di dati CHARACTER.
Questo tipo di dati carattere è ulteriormente classificato come segue:
- Tipo di dati CHAR (dimensione stringa fissa)
- VARCHAR2 Tipo di dati (dimensione stringa variabile)
- VARCHAR Tipo di dati
- NCHAR (dimensione della stringa fissa nativa)
- NVARCHAR2 (dimensione stringa variabile nativa)
- LUNGO e LUNGO GREZZO
Tipo di dati | Descrizione | Sintassi |
---|---|---|
CHAR | Questo tipo di dati memorizza il valore della stringa e la dimensione della stringa viene fissata al momento della dichiarazione della variabile.
|
grade CHAR;manager CHAR (10):= 'guru99';Spiegazione della sintassi:
|
VARCHAR2 | Questo tipo di dati memorizza la stringa, ma la lunghezza della stringa non è fissa.
|
manager VARCHAR2(10) := ‘guru99';Spiegazione della sintassi:
|
VARCHAR | Questo è sinonimo del tipo di dati VARCHAR2.
|
manager VARCHAR(10) := ‘guru99';Spiegazione della sintassi:
|
NCHAR | Questo tipo di dati è uguale al tipo di dati CHAR, ma il set di caratteri sarà del set di caratteri nazionale.
|
native NCHAR(10);Spiegazione della sintassi:
|
NVARCHAR2 | Questo tipo di dati è uguale al tipo di dati VARCHAR2, ma il set di caratteri sarà del set di caratteri nazionali.
|
Native var NVARCHAR2(10):='guru99';Spiegazione della sintassi:
|
LUNGO e LONGRAW | Questo tipo di dati viene utilizzato per memorizzare testo di grandi dimensioni o dati grezzi fino alla dimensione massima di 2 GB.
|
Large_text LONG;Large_raw LONG RAW;Spiegazione della sintassi:
|
NUMBER tipo di dati:
Questo tipo di dati memorizza numeri in virgola mobile o fissa fino a 38 cifre di precisione. Questo tipo di dati viene utilizzato per lavorare con i campi che conterranno solo dati numerici. La variabile può essere dichiarata con dettagli di precisione e cifre decimali o senza queste informazioni. I valori non devono essere racchiusi tra virgolette durante l'assegnazione di questo tipo di dati.
A NUMBER(8,2);B NUMBER(8);C NUMBER;
Spiegazione della sintassi:
- In quanto sopra, la prima dichiarazione dichiara che la variabile 'A' è di tipo di dati numerico con precisione totale 8 e cifre decimali 2.
- La seconda dichiarazione dichiara che la variabile "B" è di tipo dati numerico con precisione totale 8 e senza cifre decimali.
- La terza dichiarazione è la più generica, dichiara che la variabile 'C' è di tipo di dati numerico senza limitazioni di precisione o di cifre decimali. Può richiedere fino a un massimo di 38 cifre.
Tipo di dati BOOLEANO:
Questo tipo di dati memorizza i valori logici. Rappresenta VERO o FALSO e viene utilizzato principalmente nelle istruzioni condizionali. I valori non devono essere racchiusi tra virgolette durante l'assegnazione di questo tipo di dati.
Var1 BOOLEAN;
Spiegazione della sintassi:
- In precedenza, la variabile "Var1" è dichiarata come tipo di dati BOOLEANO. L'output del codice sarà vero o falso in base alla condizione impostata.
DATE Tipo di dati:
Questo tipo di dati memorizza i valori in formato data, come data, mese e anno. Ogni volta che una variabile viene definita con il tipo di dati DATE insieme alla data, può contenere informazioni sull'ora e per impostazione predefinita le informazioni sull'ora sono impostate su 12:00:00 se non specificato. I valori devono essere racchiusi tra virgolette durante l'assegnazione per questo tipo di dati.
Il formato dell'ora Oracle standard per l'input e l'output è "DD-MON-YY" ed è nuovamente impostato su NLS_PARAMETERS (NLS_DATE_FORMAT) a livello di sessione.
newyear DATE:='01-JAN-2015';current_date DATE:=SYSDATE;
Spiegazione della sintassi:
- In quanto sopra, 'capodanno' variabile è dichiarata come tipo di dati DATE e contrassegnati con il valore del 1 gennaio st 2015 data.
- La seconda dichiarazione dichiara la variabile current_date come tipo di dati DATE e assegna il valore con la data di sistema corrente.
- Entrambe queste variabili contengono le informazioni sul tempo.
Tipo di dati LOB:
Questo tipo di dati viene utilizzato principalmente per archiviare e manipolare grandi blocchi di dati non strutturati come immagini, file multimediali, ecc. Oracle preferisce LOB invece del tipo di dati LONG in quanto è più flessibile del tipo di dati LONG. Di seguito sono riportati i pochi vantaggi principali del tipo di dati LOB rispetto al tipo di dati LONG.
- Il numero di colonne in una tabella con tipo di dati LONG è limitato a 1, mentre una tabella non ha restrizioni su un numero di colonne con tipo di dati LOB.
- Lo strumento dell'interfaccia dati accetta il tipo di dati LOB della tabella durante la replica dei dati, ma omette la colonna LONG della tabella. Queste colonne LONG devono essere replicate manualmente.
- La dimensione della colonna LONG è di 2 GB, mentre LOB può memorizzare fino a 128 TB.
- Oracle migliora costantemente il tipo di dati LOB in ciascuna delle loro versioni in base ai requisiti moderni, mentre il tipo di dati LONG è costante e non riceve molti aggiornamenti.
Quindi, è sempre opportuno utilizzare il tipo di dati LOB invece del tipo di dati LONG. Di seguito sono riportati i diversi tipi di dati LOB. Possono memorizzare fino alla dimensione di 128 terabyte.
- BLOB
- CLOB e NCLOB
- BFILE
Tipo di dati | Descrizione | Sintassi |
---|---|---|
BLOB |
Questo tipo di dati memorizza i dati LOB nel formato di file binario fino alla dimensione massima di 128 TB. Questo non memorizza i dati in base ai dettagli del set di caratteri, in modo che possa memorizzare i dati non strutturati come oggetti multimediali, immagini, ecc. |
Binary_data BLOB; Spiegazione della sintassi:
|
CLOB e NCLOB |
Il tipo di dati CLOB memorizza i dati LOB nel set di caratteri, mentre NCLOB memorizza i dati nel set di caratteri nativo. Poiché questi tipi di dati utilizzano l'archiviazione basata su set di caratteri, non possono memorizzare dati come file multimediali, immagini, ecc. Che non possono essere inseriti in una stringa di caratteri. La dimensione massima di questi tipi di dati è 128 TB. |
Charac_data CLOB; Spiegazione della sintassi:
|
BFILE |
|
Sommario
Abbiamo coperto i diversi tipi di dati semplici disponibili in PL / SQL insieme alla loro sintassi. Apprenderemo i tipi di dati complessi in ulteriori argomenti.