Come posso creare una tabella con oracle ma con caratteri piccoli, quando creo una tabella con caratteri piccoli converte automaticamente i caratteri maiuscoli.Come posso creare una tabella con oracle ma con caratteri piccoli?
risposta
I nomi delle tabelle (non quotati) in lettere maiuscole sono richiesti dallo standard ANSI SQL.
È può creare tabelle (e colonne) con nomi minuscoli che utilizzano un identificatore citato (anche questo segue lo standard SQL):
CREATE TABLE "foo"
(
"id" integer,
"SomeColumn" varchar(100)
);
Vorrei però vivamente di non fare quella.
Una volta che avete le tabelle create in questo modo, si ha sempre virgolette usare perché qualsiasi nome non citato sarà (seguendo le regole per gli identificatori di SQL) sarà di nuovo piegato per maiuscole e quindi ha vinto' t corrisponde al nome così come è memorizzato nei cataloghi di sistema.
Perciò la seguente dichiarazione sarà non lavoro:
SELECT id, somecolumn FROM foo;
Devi usare un identificatore quotato:
SELECT "id", "SomeColumn" FROM "foo";
Per maggiori dettagli su identificatori (quotate), si prega di leggere il manuale: http://docs.oracle.com/cd/E11882_01/server.112/e26088/sql_elements008.htm#i27561
Ottima spiegazione + 1 – user75ponic
concordato con un cavallo senza nome "Ho visto e ho dovuto eseguire il debug del codice di produzione che usava questo, in quanto i ragazzi che hanno scritto l'app erano sviluppatori Java che per qualche ragione AMANO usando la tabella e la colonna del case cammello nomi, poiché è così che digitano gli identificatori in Java. è un incubo assoluto mantenerlo in oracolo. hai quasi voglia di lanciare la tastiera attraverso il monitor quando vedi centinaia di viste che contengono colonne maiuscole + nomi di viste e ti viene chiesto di regolare alcuni sql contro di loro. – DazzaL
Racchiudere il nome della tabella tra virgolette ("
). Anche creare la vostra tabella come questa
create table "t" (a number, b varchar2(10));
Ora il vostro nome della tabella è t
in minuscolo. Devi sempre usare le virgolette quando accedi al tuo tavolo. Ad esempio
select * from "t";
È possibile utilizzare lo stesso costrutto per altri oggetti (colonne, indici, ...).
In ogni caso, SQL non fa distinzione tra maiuscole e minuscole, è necessario un buon motivo per utilizzare nomi di oggetti dipendenti dal caso.
cosa vuoi fare? darci maggiori informazioni per favore – semTex
Il record viene convertito in lettere maiuscole o le colonne della tabella vengono convertite in lettere maiuscole minuscole? – user75ponic
quando eseguo questa query "create table t ( un numero, b VARCHAR2 (10) )" – user1384279