问题
I have installed Oracle 10g in my virtual XP and created a table using
create table reg1 (
fname varchar2(30),
lname varchar2(30),
addr varchar2(30),
mail varchar2(30),
occu varchar2(30),
uname varchar2(30),
passwd varchar2(30)
);
and the table created successfully.But when I am trying to fetch the values by simple query like
select fname, lname
from reg1
where uname="bbb";
I am getting error like
ORA-00904: "bbb": invalid identifier
I cannot understand what I have done wrong here.
回答1:
Use single quotes.
select fname,lname from reg1 where uname='bbb';
回答2:
Oracle uses double quotes "
in order to identify cased object names. For instance the table "test"
is not the same as the table test
.
Strings should be enclosed by single quotes, '
.
Making your query:
select fname, lname from reg1 where uname = 'bbb';
What's actually happening in your query is Oracle is trying to find the column "bbb"
in the table reg1
, as this column doesn't exist you get the error thrown.
来源:https://stackoverflow.com/questions/11277135/ora-00904-errorinvalid-identifier