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的关键字