首页 >数据库 >mysql教程 >为什么在查询 Oracle 表时出现 ORA-00904:'无效标识符”?

为什么在查询 Oracle 表时出现 ORA-00904:'无效标识符”?

Susan Sarandon
Susan Sarandon原创
2024-12-23 13:06:12245浏览

Why Am I Getting ORA-00904:

ORA-00904 错误:无效标识符

问题:

尝试检索数据时使用简单查询从表中获取,其中 WHERE 子句包含列上的条件值时,您会遇到 ORA-00904 错误,指示标识符无效。

例如,您创建了一个名为 reg1 的表,其中包含以下列:

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

但是,在执行查询时获取用户名“bbb”的用户的名字 (fname) 和姓氏 (lname)例如:

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

您收到错误 ORA-00904: "bbb": 无效标识符。

答案:

发生错误的原因您在 WHERE 子句中比较的值未用单引号引起来。在 Oracle 中,比较字符串值时,需要用单引号将它们引起来以表明它们是文字。

要解决此问题,只需在 'bbb' 值两边添加单引号即可:

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

通过此更正,查询将成功获取用户名“bbb”的用户的数据,因为比较现在被正确地视为文字字符串比较。

以上是为什么在查询 Oracle 表时出现 ORA-00904:'无效标识符”?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn