ORA-00972: identifier is too long

文档解释

ORA-00972: identifier is too long

Cause: An identifier with more than 30 characters was specified.

Action: Specify at most 30 characters.

ORA-00972: identifier is too long 说明你使用了太长的一个标识符,可能是数据库的表名或字段名,超过了Oracle 10g数据库的最大长度。

官方解释

ORA-00972表示您尝试使用的标识符超出数据库分析器所允许的最大长度。标识符可以是 :

(a) Character column的名字

-(b) Table、view、synonym或sequence的名字

-(c) Constraint的名字

-(d) Package、procedure、function 或 trigger的名字

-(e) 或引用其它对象的PL/SQL 变量或存储过程参数名

允许的最大长度为30个字符,如果是VARCHAR2或PL/SQL变量,则可以达到128个字符。

常见案例

最常见的案例是给表创建列时,可能会出现数据库标识符过大的问题,因为在数据库中,每个表只能有30个字符的名字,对每一列也是一样的要求。

正常处理方法及步骤

1. 检查数据库标识符的长度,确保其在最大长度的要求之内;

2. 如果必须使用较长标识符,则可以尝试使用缩写或短简称;

3. 重命名标识符,以确保其长度在合理范围内;

4. 使用ALTER TABLE语句将表列名更改为正确的标识符;

5. 删除违反要求的标识符,并重新添加正确的标识符。

你可能感兴趣的