位置:首页 » 文章/教程分享 » oracle“ORA-00904”错误:标识符无效几种可能情况


ORA-00904 :“***”invalid identifier
出现这种错误的原因很有可能是,你的SQL语句中的某个字段名写错了,

或者是表名写错了,总之,这类错误的出现,基本上是因为在SQL语句中,

字段名与表不对应,有可能是有这个表,但是字段没有;或是表不存在。

例如:select deptname from stu;//此时,stu表中没有deptname这个字段

select deptname from abcd;//此时abcd这个表是一个数据库中不存在的表,换言之,就是你写错了表名。

凡此种种,如 insert into dept(deptno,deptname,stuno) values(....) 也会出现同样的错误,因为dept中没有stuno字段。

还有可能:是在创建表的时候,创建最后一个字段的时候也加了逗号 。


现在举一个我今天遇到的例子:

 insert into SSQX_SURGERY_INFO (ID, PackId, REMARK, DEPARTID, AMOUNT, PRIORITY) values (3, 11, '1rt', 1, 1, 'fdg') 

一直报PackId是无效标识符

改成

insert into SSQX_SURGERY_INFO (ID, ”PackId“, REMARK, DEPARTID, AMOUNT, PRIORITY) values (3, 11, '1rt', 1, 1, 'fdg')

就OK啦, PackId在oracle的关键字