Oracle Tipi di dati PL/SQL: booleano, numero, data [Esempio]
Che cosa sono i tipi di dati PL/SQL?
Tipi di dati in PL/SQL vengono utilizzati per definire il modo in cui i dati verranno archiviati, gestiti e trattati Oracle durante la memorizzazione e l'elaborazione dei dati. I tipi di dati sono associati al formato di archiviazione specifico e ai vincoli di intervallo. In Oracle, a ogni valore o costante viene assegnato un tipo di dati.
La differenza principale tra PL/SQL e SQL tipi di dati è che il tipo di dati SQL è limitato alla colonna della tabella mentre i tipi di dati PL/SQL vengono utilizzati in Blocchi PL/SQLMaggiori dettagli saranno forniti più avanti nel tutorial.
Di seguito è riportato lo schema dei diversi Oracle Tipi di dati PL/SQL:
Tipo di dati CARATTERE PL/SQL
Questo tipo di dati memorizza fondamentalmente 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:
- CHAR Tipo di dati (dimensione stringa fissa)
- VARCHAR2 Tipo di dati (dimensione stringa variabile)
- VARCHAR Tipo di dati
- NCHAR (dimensione stringa fissa nativa)
- NVARCHAR2 (dimensione stringa variabile nativa)
- LUNGO e LUNGO CRUDO
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 del file 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à quello 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 nazionale.
|
Native var NVARCHAR2(10):='guru99'; Spiegazione della sintassi:
|
LUNGO e LONGRAW | Questo tipo di dati viene utilizzato per archiviare testo di grandi dimensioni o dati grezzi fino alla dimensione massima di 2 GB.
|
Large_text LONG; Large_raw LONG RAW; Spiegazione della sintassi:
Nota: L'utilizzo del tipo di dati LONG non è consigliato da Oracle. È invece preferibile il tipo di dati LOB. |
Tipo di dati PL/SQL NUMBER
Questo tipo di dati memorizza numeri fissi o in virgola mobile fino a 38 cifre di precisione. Questo tipo di dati è utilizzato per lavorare con campi che conterranno solo dati numerici. La variabile può essere dichiarata con precisione e dettagli sulle cifre decimali o senza queste informazioni. I valori non devono essere racchiusi tra virgolette durante l'assegnazione per questo tipo di dati.
A NUMBER(8,2); B NUMBER(8); C NUMBER;
Spiegazione della sintassi:
- Nella prima dichiarazione sopra, si afferma che la variabile 'A' è di tipo numerico con precisione totale 8 e cifre decimali 2.
- La seconda dichiarazione dichiara che la variabile 'B' è un tipo di dato numerico con precisione totale 8 e nessuna cifra decimale.
- La terza dichiarazione è la più generica, dichiara che la variabile 'C' è di tipo di dati numerico senza restrizioni di precisione o cifre decimali. Può contenere fino a un massimo di 38 cifre.
Tipo di dati BOOLEAN PL/SQL
Questo tipo di dati memorizza i valori logici. Oracle Il tipo di dati booleano rappresenta VERO o FALSO e viene utilizzato principalmente nelle istruzioni condizionali. Non è necessario racchiudere i valori tra virgolette durante l'assegnazione per questo tipo di dati.
Var1 BOOLEAN;
Spiegazione della sintassi:
- In quanto sopra, la variabile 'Var1' è dichiarata come tipo di dati BOOLEAN. L'output del codice sarà vero o falso in base alla condizione impostata.
Tipo di dati DATA PL/SQL
Questo tipo di dati memorizza i valori nel 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 specificate. I valori devono essere racchiusi tra virgolette durante l'assegnazione per questo tipo di dati.
Lo standard Oracle il formato dell'ora per l'input e l'output è "GG-MON-AA" 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, la variabile "newyear" è dichiarata come tipo di dati DATE e gli viene assegnato il valore di Jan 1st, data 2015.
- La seconda dichiarazione dichiara la variabile current_date come tipo di dati DATE e le assegna il valore con la data corrente del sistema.
- Entrambe queste variabili contengono le informazioni temporali.
Tipo di dati LOB PL/SQL
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 poiché è più flessibile del tipo di dati LONG. Di seguito sono riportati i vantaggi principali di 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 sul numero di colonne con tipo di dati LOB.
- Lo strumento di 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 è 2 GB, mentre LOB può archiviare fino a 128 TB.
- Oracle migliora costantemente il tipo di dati LOB in ciascuna delle sue versioni in base ai requisiti moderni, mentre il tipo di dati LONG è costante e non riceve molti aggiornamenti.
Quindi, è sempre bene usare il tipo di dati LOB invece del tipo di dati LONG. Di seguito sono riportati i diversi tipi di dati LOB. Possono memorizzare fino a una 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 nativi. Poiché questi tipi di dati utilizzano la memorizzazione basata su set di caratteri, non possono memorizzare dati come contenuti 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 trattato i diversi tipi di dati semplici disponibili in PL / SQL insieme alla loro sintassi. Impareremo i tipi di dati complessi in altri argomenti.