lunedì 8 ottobre 2012

Oracle - char e byte nella dichiarazione di una colonna varchar2

[se non leggi bene l'articolo vai sul blog http://vincenzomiccolis.blogspot.it/ o sulla versione mobile http://bit.ly/AeHvgL

Ogni tanto mi capita di parlare di argomenti un po' più tecnici. Oggi rispondo ad un quesito su Oracle.

Ciao Vincent, ho una domanda relativa alla dichiarazione dei tipi sulle colonne delle tabelle in Oracle. Ho visto che ogni tanto parli dell'argomento ed eccomi quà.
bloB


(continua sotto)
promo
Memopal - 3GB spazio backup gratis più 500MB per te con questo invito

Ciao bloB e grazie per il tuo intervento.
L'argomento è molto interessante.

Cerco di spiegare in parole semplici. Quando si costruisce una tabella si deve dichiarare il tipo per ogni colonna. Ad esempio...

CREATE TABLE stipendi 
(
importo number(18,3),
cognome varchar2(100),
nome varchar2(100)
)

Nel dichiarare una colonna di tipo varchar2() si deve obbligatoriamente indicare specificamente la dimensione massima della colonna.


cognome varchar2(100),


Per default la dimensione dovrebbe essere in Byte anche se dipende essenzialmente dalla configurazione del DB (vedi Oracle Data Types | SS64.cominit.ora SpFile Parameters | SS64.com [EN] sotto in Link utili). In questo scenario le due dichiarazioni seguenti dovrebbero coincidere


CREATE TABLE stipendi 
(
importo number(18,3),
cognome varchar2(100),
nome varchar2(100)
)



CREATE TABLE stipendi 
(
importo number(18,3),
cognome varchar2(100 byte),
nome varchar2(100 byte)
)


In un characterset possono essere compresi caratteri che per la loro rappresentazione richiedano più di un byte (ad es.UTF8). In questi casi può rivelarsi utile dichiarare il numero di caratteri che si vuole gestire a prescindere dai byte.


CREATE TABLE stipendi 
(
importo number(18,3),
cognome varchar2(100 char),
nome varchar2(100 char)
)


Si badi che il limite massimo delle colonne varchar2 rimane di 4000 Byte, quindi non necessariamente 4000 caratteri. Nella versione 10g il dimensionamento con la clausola char determina un aumento a 3 byte per carattere.


Alla prossima!
Se il post ti piace condividilo su Facebook
Tieni d'occhio questo post e i suoi commenti: iscriviti nella parte destra del blog.
Per qualsiasi dubbio, critica, segnalazione scrivimi a vm_tempbox-perparlarediweb[at]yahoo.it
Ricevi gratuitamente tutti i miei aggiornamenti del blog direttamente dal feed RSS ed in email.
Visita la mia pagina su Facebook e diventa fan. Segui @vincentmiccolis su Twitter dove oltre ai link agli articoli del blog condivido i link delle mie letture in tempo reale.
Istalla la toolbar del blog... è gratis!


Siti consultati:
html.it/
ss64.com/ [EN]
1keydata.com/
stackoverflow.com/  [EN]

Alla prossima!
Per leggere i post con più chiarezza ed un allineamento adattato agli schermi più piccoli di iPhone e smartphone usa la versione mobile. Vai a http://bit.ly/AeHvgL oppure clicca/scansiona il QR code quì sotto.


Download: Fast, Fun, Awesome

DISCLAIMER: Il contenuto dei miei articoli è reso disponibile così com'è. Per Parlare di Web non offre alcuna garanzia sui contenuti che sono forniti a solo scopo di intrattenimento e/o didattico con l'obiettivo di fare da spunto di riflessione per il lettore proponendo idee, concetti e recensioni di prodotti e servizi tecnologici. Il blog Per Parlare di Web non si assume alcuna responsabilità per ogni conseguenza dannosa che possa risultare al lettore dall'adozione di indicazioni descritte nei nostri articoli e nelle nostre guide hardware e software.

Nessun commento:

Posta un commento