【发布时间】:2017-08-12 05:15:55
【问题描述】:
我是甲骨文的新手。我正在尝试从 HPDMA 运行一个 sql 脚本,该脚本调用我的数据库所需的所有表创建脚本,但出现以下错误:
创建表 ABC.RESULTS_MODEL_OUTPUT * 第 1 行出现错误:ORA-00955:名称已被现有对象使用
我查询了数据库,看看是否有任何同名的对象。我运行了以下查询:
select * from all_objects where OBJECT_NAME like '%RESULTS_MODEL_OUTPUT%';
没有返回行,这意味着没有名称为“ABC.RESULTS_MODEL_OUTPUT”的对象。那为什么 Oracle 会报错呢?
任何帮助将不胜感激。谢谢。
【问题讨论】:
-
名字都是大写的吗?全小写?引?尝试在查询中使用
upper(OBJECT_NAME) like ...。 -
在创建表之前始终删除它。所以在你创建之前添加 drop table schema.tablename
-
感谢您的评论。尝试使用 'upper(OBJECT_NAME)' 但这也不起作用。
-
当您查询
all_objects时,您是作为用户ABC连接的吗?如果不是,您可能无法看到它。检查作为该用户,和/或dba_objects。另外,检查脚本 - 也许表创建被执行了两次,也许是从一个杂散的斜线。 (虽然这可能意味着它正在清理自己,如果你之后仍然看不到它......) -
@AlexPoole 是的,它对我有用。最初,我作为不同的用户连接。现在,我看到它存在于 all_objects 中。谢谢!