[TL; DR] Điều đơn giản nhất điều cần làm là không bao giờ sử dụng dấu ngoặc kép xung quanh tên đối tượng và chỉ để oracle quản lý phân biệt chữ hoa chữ thường theo cách mặc định của nó.
Tuy nhiên, bạn có thể sử dụng dấu ngoặc kép trong SQLFiddle:
Thiết lập lược đồ 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
//
Truy vấn 1 :
SELECT "ProductName" FROM products
Kết quả :
| ProductName |
|-------------|
| Jarlsberg |
| Mascarpone |
| Gorgonzola |
Cơ sở dữ liệu Oracle, theo mặc định, phân biệt chữ hoa chữ thường; tuy nhiên, theo mặc định, chúng cũng sẽ chuyển đổi mọi thứ thành chữ hoa để phân biệt chữ hoa chữ thường được tóm tắt từ bạn, người dùng. Chỉ khi bạn sử dụng dấu ngoặc kép thì Oracle mới sử dụng trường hợp bạn chỉ định cho số nhận dạng.
Vì bạn đã sử dụng số nhận dạng được trích dẫn trong CREATE TABLE
bạn cũng sẽ cần sử dụng các số nhận dạng được trích dẫn trong SELECT
câu lệnh với trường hợp chính xác được sử dụng trong tạo bảng.
Vì vậy, tên cột không phải là ProductName
nó là "ProductName"
(với dấu ngoặc kép).
Một giải pháp tốt hơn là không sử dụng dấu ngoặc kép:
Thiết lập lược đồ 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
//
Truy vấn 1 :
SELECT ProductName FROM products
Kết quả :
| PRODUCTNAME |
|-------------|
| Jarlsberg |
| Mascarpone |
| Gorgonzola |