Oracle SQL Developer - Невозможно выполнить запросы, используя поле varchar в качестве идентификатора - PullRequest
3 голосов
/ 10 марта 2012

Я новичок в использовании Oracle SQL Developer и в использовании БД Oracle (раньше я в основном использовал MySQL)

Я пытаюсь сделать что-то вроде:

select * from content_definition where content_id = "hhhh233";

Где content_id:

VARCHAR2(1000 BYTE)

Но получаю:

ORA-00904: "hhhh233": invalid identifier
00904. 00000 -  "%s: invalid identifier"
*Cause:    
*Action:
Error at Line: 1 Column: 52

Я не совсем понимаю, почему это не работает, так как я всегда делал подобные запросы с MySQL. Я искал это, но, похоже, ничего не подходит для моего конкретного случая использования. Я был бы признателен, если бы кто-нибудь мог указать мне правильное направление в этом. Спасибо

Ответы [ 2 ]

5 голосов
/ 10 марта 2012

Вам необходимо использовать одинарные кавычки для символьных данных; двойные кавычки означают идентификаторы и псевдонимы:

select * from content_definition where content_id = 'hhhh233';
3 голосов
/ 10 марта 2012

Разделитель строк в Oracle - это одиночная кавычка ('), например:

select * from content_definition where content_id = 'hhhh233';

Двойные кавычки используются только для идентификаторов (например, имен столбцов и таблиц).

...