[TL;DR] Najprostsza rzecz do zrobienia jest nigdy nie używać podwójnych cudzysłowów wokół nazw obiektów i po prostu pozwolić oracle zarządzać rozróżnianiem wielkości liter w sposób domyślny.
Możesz jednak użyć cudzysłowów w SQLFiddle:
Konfiguracja schematu 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
//
Zapytanie 1 :
SELECT "ProductName" FROM products
Wyniki :
| ProductName |
|-------------|
| Jarlsberg |
| Mascarpone |
| Gorgonzola |
W bazach danych Oracle domyślnie rozróżniana jest wielkość liter; jednak domyślnie przekonwertują wszystko na wielkie litery, aby rozróżnianie wielkości liter było oderwane od Ciebie, użytkownika. Tylko wtedy, gdy używasz cudzysłowów, Oracle użyje wielkości liter, które określisz dla identyfikatora.
Ponieważ użyłeś cytowanych identyfikatorów w CREATE TABLE
oświadczenie będziesz musiał również użyć cytowanych identyfikatorów w SELECT
oświadczenia z dokładnymi wielkościami liter używanymi przy tworzeniu tabeli.
Tak więc nazwa kolumny to nie ProductName
to jest "ProductName"
(z podwójnymi cudzysłowami).
Lepszym rozwiązaniem jest nie używanie podwójnych cudzysłowów:
Konfiguracja schematu 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
//
Zapytanie 1 :
SELECT ProductName FROM products
Wyniki :
| PRODUCTNAME |
|-------------|
| Jarlsberg |
| Mascarpone |
| Gorgonzola |