ORA-38421: attribute string already exists
Cause: An attribute with a matching name (or form) already exists in the attribute set.
Action: Drop the existing attribute or choose a different name for the new attribute.
ORA-38421: attribute string already exists
这是Oracle数据库报出的一个错误,表明当前尝试添加的属性已经存在于当前的数据库对象上。
官方解释:
当数据库尝试为某个数据库对象添加某个属性时,会报出ORA-38421: attribute string already exists错误,表明当前所尝试添加的属性已经存在于当前数据库对象中。
常见案例:
比如,像创建表、添加列之类的语句,当尝试为已存在的表添加一条新的列时,会报出ORA-38421: attribute string already exists。当在创建一个新的表时,尝试创建的表的名称和之前的表名称已经存在,就会报出此错误。
1. 首先建议运行对象内容检查(Object Contents Check),确定当前数据库中是否已存在要添加的属性以及搜索同名别名是否已被使用。
2. 如果当前要添加的属性已存在,就不要进行添加操作,避免发生错误。
3. 如果确定要添加的属性不存在,可以使用下面的SQL语句进行重命名:ALTER TABLE Table_name RENAME Column_name TO new_Name;
4. 如果要删除某一列,可以使用下面的SQL语句:ALTER TABLE Table_name DROP COLUMN Column_name;
5.最后,建议及时备份数据库,以便出现错误时可以尽可能快速地恢复系统。