[TL;DR] La cosa più semplice da fare è non usare mai le doppie virgolette attorno ai nomi degli oggetti e lasciare che Oracle gestisca la distinzione tra maiuscole e minuscole nel modo predefinito.
Tuttavia, puoi usare le virgolette doppie in SQLFiddle:
Impostazione dello schema Oracle 11g R2 :
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 |
Per impostazione predefinita, i database Oracle fanno distinzione tra maiuscole e minuscole; tuttavia, per impostazione predefinita, convertiranno anche tutto in maiuscolo in modo che la distinzione tra maiuscole e minuscole venga sottratta a te, l'utente. È solo quando utilizzi le virgolette doppie che Oracle utilizzerà il caso specificato per l'identificatore.
Poiché hai utilizzato gli identificatori tra virgolette in CREATE TABLE
istruzione dovrai anche utilizzare identificatori tra virgolette in SELECT
istruzioni con il caso esatto utilizzato nella creazione della tabella.
Quindi, il nome della colonna non è ProductName
è "ProductName"
(con le virgolette).
Una soluzione migliore è non usare le virgolette doppie:
Impostazione dello schema Oracle 11g R2 :
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 |