2012-06-30 15 views
6

Mam zainstalowany Oracle 10g w moim wirtualnym XP i stworzył tabeli przy użyciuORA 00904 Błąd: Nieprawidłowy identyfikator

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

i tabelę utworzoną successfully.But gdy próbuję pobrać wartości zwykłą zapytania jak

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

otrzymuję błąd jak

ORA-00904: "bbb": invalid identifier

nie mogę zrozumieć, co zrobiłem źle tutaj.

Odpowiedz

17

Użyj pojedynczych cudzysłowów.

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

dziękuję. Teraz mój problem został rozwiązany :) – Mistu4u

5

Firma Oracle używa podwójnego cudzysłowu " w celu identyfikacji nazw obiektów w obudowach. Na przykład tabela "test" nie jest taka sama jak tabela test.

Łańcuchy powinny być ujęte w pojedyncze cudzysłowy, '.

Making zapytanie:

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

Co się rzeczywiście dzieje w zapytaniu jest Oracle próbuje znaleźć kolumnę "bbb" w tabeli reg1, jak ta kolumna nie istnieje pojawi się błąd rzucone.

+0

Nie tylko Oracle, wszystkie bazy danych SQL –

Powiązane problemy