我通过JDBC创建了一个动态临时表,但它失败了,并出现了以下错误
通过JDBC查询。 create table abcd_tmp as select * form abcd where 1=2;
Error: ORA-00955: name is already used by an existing object
我检查了这个论坛上所有与这个错误有关的其他帖子,但没有用。在我的案例中,没有这样的同名表退出。(上例中的abcd_tmp)
我已经再三确认没有这个表。 另外,即使我把名字从 abcd_tmp
到 abcd_something
但还是不行。 我很确定这个错误是由于其他原因造成的,有什么想法吗?
这个错误并没有说 桌子 名的存在,但 对象. 对象 可以是任何东西--(一个表),一个过程函数触发包包序列同义词视图...。
你应该查询 ALL_OBJECTS
或 USER_OBJECTS
来验证你真正拥有的东西,比如。
SQL> select owner, object_type from all_objects where upper(object_name) = 'EMP';
OWNER OBJECT_TYPE
------------------------------ -------------------
SCOTT TABLE
SQL>
然后你就会知道你到底有什么。
我想明白了问题所在。 这个问题是由于代码中的一个逻辑错误。由于我忽略了日志文件,我没有意识到我试图一次又一次地创建相同的表。结束这个问题。 谢谢大家的及时帮助和建议。