Oracle
 sql >> Base de données >  >> RDS >> Oracle

L'insertion de noms de colonnes entre guillemets doubles avec la commande CREATE dans Oracle ne fonctionne pas correctement. Pourquoi?

Contrairement à ce que l'on croit, Oracle est sensible à la casse dans les noms de colonnes et de tables. Il convertit simplement tout en majuscules par défaut.

Mais si vous utilisez des noms entre guillemets doubles, vous dites à Oracle de créer la colonne dans l'orthographe exacte que vous avez fournie (en minuscules dans le CREATE déclaration).

Depuis dans le SELECT , vous n'utilisez pas de guillemets, les noms sont convertis en majuscules et ne sont donc pas égaux aux noms en minuscules dans le CREATE déclaration.

Cela devrait donc fonctionner :

SELECT "prod_id", "product_name" FROM products;

Si vous ne savez pas comment les noms de colonne ou de table sont spécifiés, vous pouvez le rechercher dans le dictionnaire de données. Vous trouverez des noms de colonnes en minuscules pour votre product table, mais le nom de la table en majuscules, car il n'a pas été entre guillemets.