java - JDBC ORA-00955: 名称已被现有对象使用
问题描述
我正在通过 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
,它仍然不起作用。我很确定错误是由于其他原因造成的..有什么想法吗?
解决方案
该错误并未说明具有该名称的表存在,而是object。对象可以是任何东西——(表)、过程/函数/触发器/包/序列/同义词/视图/...
您应该查询ALL_OBJECTS
或USER_OBJECTS
验证您真正拥有的东西,例如
SQL> select owner, object_type from all_objects where upper(object_name) = 'EMP';
OWNER OBJECT_TYPE
------------------------------ -------------------
SCOTT TABLE
SQL>
然后你就会知道你真正拥有的是什么。
推荐阅读
- python - 有没有一种方法可以使函数连续运行,直到用户告诉它停止?
- php - php包括不适用于我的任何一个代码
- python - 如何使用带有 selenium 和 python 的 xpath 为 tplink pharos cpe520 创建自动化登录?
- powershell - 包括来自动态位置的其他 PSake 文件
- django - 静态文件 Pythonanywhere
- angular - MSAL Angular - 通过 document.location.origin 的动态重定向 URL 配置不适用于 AOT
- php - Wordpress site experiencing "Catchable Fatal Error"
- c# - Bulk Upload in ElasticSearch using Nest library in C#
- sql - 如何使用 BETWEEN 和 OR 使用 SQL 案例表达式?
- javascript - 在路线路径的开头添加子路线(角度)