sql >> Database >  >> RDS >> Oracle

Het insluiten van kolomnamen tussen dubbele aanhalingstekens met de opdracht CREATE in Oracle werkt niet goed. Waarom?

In tegenstelling tot wat vaak wordt gedacht, is Oracle hoofdlettergevoelig in kolom- en tabelnamen. Het converteert alles standaard naar hoofdletters.

Maar als u namen tussen dubbele aanhalingstekens gebruikt, laat u Oracle de kolom maken in de exacte spelling die u hebt opgegeven (kleine letters in de CREATE uitspraak).

Omdat in de SELECT statement, je gebruikt geen aanhalingstekens, de namen worden omgezet naar hoofdletters en zijn daarom niet gelijk aan de kleine letters in de CREATE verklaring.

Dus dit zou moeten werken:

SELECT "prod_id", "product_name" FROM products;

Als u niet weet hoe kolom- of tabelnamen worden opgegeven, kunt u dit opzoeken in de datadictionary. U vindt kolomnamen in kleine letters voor uw product tabel, maar de naam van de tabel in hoofdletters, aangezien deze niet tussen aanhalingstekens stond.




  1. PL/SQL Bulk Collect met LIMIT-clausule in Oracle Database

  2. Hoe Cot() werkt in PostgreSQL

  3. Subquery als gegenereerde kolom in mysql?

  4. Multi-tenancy met SQLAlchemy