ORACLE ORA-00904 : 标识符无效 错误有以下几种情况:
- 首先检查字段名和表名是否写错
- 字段中是否包含了oracle中的关键字,查询时包含关键字的字段要用双引号括起来
- 建表语句中字段或表名带双引号了,查询时也要加双引号
备注:oracle 中的表名 、字段名 默认不区分大小写, 但是若建表语句中带双引号则区分,并且查询时要加双引号。
例如:
- 若建表
CREATE TABLE tablename (ID number);
select id,ID from tablename
与select id,ID from Tablename
都能查询
并且如果再建表CREATE TABLE Tablename (ID number);
会报错ORA-00955: name is already used by an existing object,在不加双引号的情况下,oracle认为 tablename 和Tablename 是一张表; - 若建表
CREATE TABLE "tablename"("ID" number);
则表名、字段名区分大小写,并且查询时要加双引号;
查询select ID from tablename
会报 ORA-00904
正确查询要加双引号select "ID" from "tablename"