[TL;DR] Het eenvoudigste te doen is om nooit dubbele aanhalingstekens rond objectnamen te gebruiken en Oracle de hoofdlettergevoeligheid op de standaardmanier te laten beheren.
U kunt echter dubbele aanhalingstekens gebruiken in SQLFiddle:
Oracle 11g R2 Schema-instellingen :
CREATE TABLE products
("P_Id" int, "ProductName" varchar2(10), "UnitPrice" numeric, "UnitsInStock" int, "UnitsOnOrder" int)
//
INSERT ALL
INTO products ("P_Id", "ProductName", "UnitPrice", "UnitsInStock", "UnitsOnOrder")
VALUES (1, 'Jarlsberg', 10.45, 16, 15)
INTO products ("P_Id", "ProductName", "UnitPrice", "UnitsInStock", "UnitsOnOrder")
VALUES (2, 'Mascarpone', 32.56, 23, NULL)
INTO products ("P_Id", "ProductName", "UnitPrice", "UnitsInStock", "UnitsOnOrder")
VALUES (3, 'Gorgonzola', 15.67, 9, 20)
SELECT * FROM dual
//
Query 1 :
SELECT "ProductName" FROM products
| ProductName |
|-------------|
| Jarlsberg |
| Mascarpone |
| Gorgonzola |
Oracle-databases zijn standaard hoofdlettergevoelig; ze zullen echter ook standaard alles naar hoofdletters converteren, zodat de hoofdlettergevoeligheid wordt geabstraheerd van u, de gebruiker. Alleen wanneer u dubbele aanhalingstekens gebruikt, zal Oracle het door u opgegeven hoofdlettergebruik voor de identifier gebruiken.
Aangezien u identifiers tussen aanhalingstekens gebruikt in de CREATE TABLE
statement moet je ook identifiers tussen aanhalingstekens gebruiken in de SELECT
uitspraken met de exacte hoofdlettergebruik bij het maken van tabellen.
De kolomnaam is dus niet ProductName
het is "ProductName"
(met de dubbele aanhalingstekens).
Een betere oplossing is om geen dubbele aanhalingstekens te gebruiken:
Oracle 11g R2 Schema-instellingen :
CREATE TABLE products(
P_Id int,
ProductName varchar2(10),
UnitPrice numeric,
UnitsInStock int,
UnitsOnOrder int
)
//
INSERT INTO products ( P_Id, ProductName, UnitPrice, UnitsInStock, UnitsOnOrder )
SELECT 1, 'Jarlsberg', 10.45, 16, 15 FROM DUAL UNION ALL
SELECT 2, 'Mascarpone', 32.56, 23, NULL FROM DUAL UNION ALL
SELECT 3, 'Gorgonzola', 15.67, 9, 20 FROM DUAL
//
Query 1 :
SELECT ProductName FROM products
| PRODUCTNAME |
|-------------|
| Jarlsberg |
| Mascarpone |
| Gorgonzola |