Oracle
 sql >> Database >  >> RDS >> Oracle

Racchiudere i nomi delle colonne tra virgolette doppie con il comando CREATE in Oracle non funziona correttamente. Come mai?

Contro la credenza comune, Oracle fa distinzione tra maiuscole e minuscole nei nomi di colonne e tabelle. Per impostazione predefinita, converte tutto in maiuscolo.

Ma se usi i nomi tra virgolette, dici a Oracle di creare la colonna con l'esatta ortografia che hai fornito (minuscolo nel CREATE dichiarazione).

Poiché nel SELECT istruzione, non si utilizzano virgolette, i nomi vengono convertiti in maiuscolo e quindi non sono uguali ai nomi minuscoli nel CREATE dichiarazione.

Quindi dovrebbe funzionare:

SELECT "prod_id", "product_name" FROM products;

Se non sai come vengono specificati i nomi delle colonne o delle tabelle, puoi cercarli nel dizionario dei dati. Troverai i nomi delle colonne in minuscolo per il tuo product tabella, ma il nome della tabella in maiuscolo, poiché non è stato citato.