sto sostenendo il codice che ha sotto di dichiarazione sullo schema: -varchar2 (n BYTE | CAR) di default -> CHAR o BYTE
create table sample (
id number Primary key,
username varchar2(100),
);
Alzai gli occhi sulla documentazione di Oracle & varchar2 dispone di due modalità di dichiarazione VARCHAR2 (n BYTE) e varchar2 (n CHAR), Se non si specifica esplicitamente BYTE o CHAR &, basta dichiarare il nome utente varchar2 (500), quindi verranno assegnati 500 BYTES o 500 caratteri?
grazie,
Si potrebbe desiderare di aggiungere che l'impostazione NLS_LENGTH_SEMANTICS al CAR * non * di superare il limite di 4000 byte ** ** per una colonna VARCHAR. –
nella pagina [this] (https://docs.oracle.com/cd/E24693_01/server.11203/e24448/initparams149.htm): _Caution: Oracle consiglia vivamente di non impostare il parametro NLS_LENGTH_SEMANTICS su CHAR nell'istanza o nel file dei parametri del server. Ciò potrebbe causare la creazione inaspettatamente di colonne con semantica della lunghezza dei caratteri di molti script di installazione esistenti, con conseguenti errori di runtime, inclusi buffer overflow. Come hai detto, è quasi sempre inteso specificare le lunghezze nei caratteri. Questo mi scoraggia davvero. cosa dovrei sapere, ogni tanto ho bisogno di aumentare alcune dimensioni della colonna. – mkb
@mkb - Il parametro può essere impostato anche a livello di sessione. Impostare il parametro a livello di sessione quando si definiscono gli oggetti se non si desidera il rischio di impostarlo a livello di istanza. Oppure è sufficiente riportarlo a livello di istanza su BYTE prima di eseguire uno script di installazione di Oracle. –