8

我已经在我的虚拟 XP 中安装了 Oracle 10g 并使用创建了一个表

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

并且表创建成功。但是当我试图通过简单的查询来获取值时

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

我收到类似的错误

ORA-00904: "bbb": 无效标识符

我无法理解我在这里做错了什么。

4

2 回答 2

19

使用单引号。

select fname,lname from reg1 where uname='bbb';
于 2012-06-30T19:47:21.863 回答
7

Oracle 使用双引号"来标识大小写对象名称。例如 table"test"与 table 不同test

字符串应该用单引号括起来,'.

进行查询:

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

您的查询中实际发生的情况是 Oracle 正在尝试"bbb"在表中查找该列reg1,因为该列不存在,您会抛出错误。

于 2012-06-30T19:51:09.417 回答