2012-06-30 5 views
6

Я установил Oracle 10g в моей виртуальной XP и создала таблицу с помощьюORA 00904 Ошибка: недопустимый идентификатор

create table reg1 (
    fname varchar2(30), 
    lname varchar2(30), 
    addr varchar2(30), 
    mail varchar2(30), 
    occu varchar2(30), 
    uname varchar2(30), 
    passwd varchar2(30) 
); 

и таблицы, созданной successfully.But, когда я пытаюсь извлечь значения с помощью простого запроса, как

select fname, lname 
    from reg1 
where uname="bbb"; 

Я получаю сообщение об ошибке, как

ORA-00904: "bbb": invalid identifier

Я не могу понять, что я сделал неправильно здесь.

ответ

17

Использовать одинарные кавычки.

select fname,lname from reg1 where uname='bbb'; 
+0

спасибо. Теперь моя проблема решена :) – Mistu4u

5

Oracle использует двойные кавычки ", чтобы идентифицировать имена обсадных объектов. Например, таблица "test" не совпадает с таблицей test.

Строки должны быть заключены в одинарные кавычки, '.

Оформление запроса:

select fname, lname from reg1 where uname = 'bbb'; 

Что на самом деле происходит в вашем запросе Oracle пытается найти столбец "bbb" в таблице reg1, так как этот столбец не существует, вы получите сообщение об ошибке, брошенный.

+0

Не только Oracle, все базы данных SQL –