在使用11G数据库时,经常会遇到报错ORA-00972,原因是因为对象名称定义太长,限制为30位字符.

二、12C and later

在12C之后的版本,Oracle调整对象名称为128位字符,但是密码依然保持30位。

为了兼容不同数据库版本,需要修改对象名称定义,不超过30字符。

EMP_NAME AS "申请人", CREATE_TIME AS "申请日期", EXTRACTVALUE(DOCUMENT_DATA, '/root/empCompany') AS "所属公司", EXTRACTVALU
1.原因分析 出现该问题一般是表名称、列命名或者别名 过长 ,超出了 oracle 数据库 的限制。 oracle 数据库 版本在12.1之前的,包括12.1名称限制长度为30个字符串。12.2及以后修改限制长度为128个字符串。 2.解决方法 开发过程中遇到此问题可以修改自己的sql语句,保证字段长度在限制之内。 数据导入出现此问题一般只能更换高版本的 数据库 ,不然无法正常导入数据。 习惯了mysql,SqlServer 数据库 的我,因为某些不可抗力的原因需要使用 oracle ,从头学起,发现坑还是蛮多的。不说了
执行SQL查询报:“ ORA - 00972 : 标识符 过长 ”错误。 执行SQL: SELECT T.F_FTBS, T.F_TZMC "X组/XXXX/XXXX名称", T.F_XXSJ 详细时间 FROM XXXXXXX T, XXXXXXXXX TB WHERE T.F_XXXXXX = TB.F_XXXXXX AND TB.F_JH...
ora - 00972 标识符 过长 ,可能的原因 原因: Oracle 中表名,列名,标识列字符不能超过30个字符 但我是利用plsql导入csv时,报错 ora - 00972 ,表是之前建立的,所以不可能是上述原因 经检查发现: 原因:某个字段定义的属性verchar(12),而导入的数据中字段长度为15个,故报错
ORA -00904: 标识符 无效是一个 Oracle 数据库 错误代码,表示在SQL语句中使用了一个无效的 标识符 或列名。这通常是由于以下几个原因导致的:拼写错误、缺少别名、引用了不存在的列或表、引用了不在当前作用域中的列或表等。在给出的引用中,出现了两个类似的例子,分别是指定了别名但在WHERE子句中使用了不同的别名以及引用了不存在的列或别名。 例如,引用中的错误是由于在SELECT语句中为student_id列指定了别名“stid”,但在WHERE子句中却使用了“st_id”这个不存在的别名。因此,查询提示错误,报告了 ORA -00904: "ST_ID": invalid identifier。 要解决这个问题,你需要确保在整个SQL语句中使用的别名、列名都是正确的,并且存在于相应的表中。检查拼写、大小写、别名的一致性以及列是否存在是解决此问题的常见方法。