Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Ujmowanie nazw kolumn w podwójnych cudzysłowach za pomocą polecenia CREATE w Oracle nie działa poprawnie. Czemu?

Wbrew powszechnemu przekonaniu, Oracle rozróżnia wielkość liter w nazwach kolumn i tabel. Po prostu domyślnie konwertuje wszystko na wielkie litery.

Ale jeśli używasz nazw w podwójnych cudzysłowach, powiesz Oracle, aby utworzył kolumnę w dokładnie takiej pisowni, jaką podałeś (mała litera w CREATE oświadczenie).

Ponieważ w SELECT oświadczenie, nie używasz cudzysłowów, nazwy są konwertowane na wielkie litery i dlatego nie są równe nazwom małymi literami w CREATE oświadczenie.

Więc to powinno działać:

SELECT "prod_id", "product_name" FROM products;

Jeśli nie wiesz, jak określane są nazwy kolumn lub tabel, możesz je wyszukać w słowniku danych. Znajdziesz nazwy kolumn małymi literami dla swojego product tabela, ale nazwa tabeli wielkimi literami, ponieważ nie była cytowana.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JPA + StoredProcedureCall + parametr IN typu obiektu

  2. PLS-00352 i PLS-00201 przez łącze DB

  3. Grupuj według, aby utworzyć pionową koalescencję

  4. .patch_storage

  5. Czy użycie SELECT COUNT(*) przed SELECT INTO jest wolniejsze niż używanie wyjątków?