[TL;DR] Nejjednodušší věc udělat, je nikdy nepoužívat dvojité uvozovky kolem jmen objektů a nechat Oracle řídit rozlišování malých a velkých písmen výchozím způsobem.
V SQLFiddle však můžete použít dvojité uvozovky:
Nastavení schématu 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
//
Dotaz 1 :
SELECT "ProductName" FROM products
Výsledky :
| ProductName |
|-------------|
| Jarlsberg |
| Mascarpone |
| Gorgonzola |
Databáze Oracle standardně rozlišují velká a malá písmena; ve výchozím nastavení však také vše převedou na velká písmena, takže rozlišování velkých a malých písmen je abstrahováno od vás, uživatele. Pouze při použití dvojitých uvozovek Oracle použije případ, který zadáte pro identifikátor.
Protože jste použili identifikátory v uvozovkách v CREATE TABLE
budete také muset použít identifikátory v uvozovkách v SELECT
příkazy s přesnými velkými a malými písmeny použitými při vytváření tabulky.
Název sloupce tedy není ProductName
je to "ProductName"
(s dvojitými uvozovkami).
Lepším řešením je nepoužívat dvojité uvozovky:
Nastavení schématu 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
//
Dotaz 1 :
SELECT ProductName FROM products
Výsledky :
| PRODUCTNAME |
|-------------|
| Jarlsberg |
| Mascarpone |
| Gorgonzola |