Oracle
 sql >> база данни >  >> RDS >> Oracle

Не могат да се използват имена на колони в заявка за избор на sqlfiddle (oracle)

[TL;DR] Най-простото нещо което трябва да направите, е никога да не използвате двойни кавички около имената на обекти и просто да оставите Oracle да управлява чувствителността към главни и малки букви по своя начин по подразбиране.

Можете обаче да използвате двойни кавички в SQLFiddle:

SQL Fiddle

Настройка на схема на Oracle 11g R2 :

CREATE TABLE products("P_Id" int, "ProductName" varchar2(10), "UnitPrice" numeric, "UnitsInStock" int, "UnitsOnOrder" int)//ВМЪКНЕТЕ ВСИЧКИ В продукти ("P_Id", " ProductName", "UnitPrice", "UnitsInStock", "UnitsOnOrder") СТОЙНОСТИ (1, 'Jarlsberg', 10.45, 16, 15) В продукти ("P_Id", "ProductName", "UnitPrice", "UnitsInStock", "UnitsOnOrder ") СТОЙНОСТИ (2, "Маскарпоне", 32.56, 23, NULL) В продукти ("P_Id", "ProductName", "UnitPrice", "UnitsInStock", "UnitsOnOrder") СТОЙНОСТИ (3, "Gorgonzola", 15.67, 9 , 20)SELECT * FROM dual// 

Заявка 1 :

ИЗБЕРЕТЕ „Име на продукт“ ОТ продукти 

Резултати :

<предварителен код>| Име на продукта ||-------------|| Ярлсберг || Маскарпоне || Горгонзола |

Базите данни на Oracle по подразбиране са чувствителни към главни и малки букви; обаче те също така по подразбиране ще преобразуват всичко в главни букви, така че чувствителността към главни букви да се абстрахира от вас, потребителя. Само когато използвате двойни кавички, Oracle ще използва регистъра, който сте посочили за идентификатора.

Тъй като сте използвали идентификатори в кавички в CREATE TABLE ще трябва също да използвате идентификатори в кавички в SELECT изрази с точния регистър, използван при създаването на таблица.

Така че името на колоната не е ProductName това е "ProductName" (с двойните кавички).

По-добро решение е да не използвате двойни кавички:

SQL Fiddle

Настройка на схема на 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 ОТ DUAL UNION ALL SELECT 2, „Маскарпоне“, 32.56, 23, NULL ОТ DUAL UNION ALL SELECT 3, „Gorgonzola“, 15.67, 9, 20 ОТ DUAL// 

Заявка 1 :

ИЗБЕРЕТЕ Име на продукт ОТ продукти 

Резултати :

<предварителен код>| ИМЕ НА ПРОДУКТА ||-------------|| Ярлсберг || Маскарпоне || Горгонзола |

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да извлечете подниз от низ в Oracle/SQLite

  2. средна продажба на тримесечие с предходно тримесечие средна продажба

  3. Oracle ORA-00933:SQL командата не е приключила правилно?

  4. Как да изпълните PL SQL блок в Oracle

  5. Как да коригирате отхвърлените oracle.sql.ArrayDescriptor, oracle.sql.STRUCT и oracle.sql.StructDescriptor