Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Oracle名称已在使用中_Sql_Oracle - Fatal编程技术网

Sql Oracle名称已在使用中

Sql Oracle名称已在使用中,sql,oracle,Sql,Oracle,我有一个脚本,我正在运行的家庭作业,看起来是这样的: drop table burger_king_locations_clean; drop table burger_king_locations_unresolv; create table burger_king_locations_clean ( ... ); create table burger_king_locations_unresolv ( .... ); 但是当我运行这个程序时,我得到了下面的消

我有一个脚本,我正在运行的家庭作业,看起来是这样的:

drop table burger_king_locations_clean;
drop table burger_king_locations_unresolv;


create table burger_king_locations_clean
(
    ...
);  

create table burger_king_locations_unresolv
(
    ....
);  
但是当我运行这个程序时,我得到了下面的消息,我不明白,因为我知道表已经不存在了,并且没有视图或任何其他具有该名称的对象

Table dropped.

drop table burger_king_locations_unresolv
           *
ERROR at line 1:
ORA-00942: table or view does not exist



Table created.


Table created.

create table burger_king_locations_unresolv
             *
ERROR at line 1:
ORA-00955: name is already used by an existing object

我不明白,因为这个确切的东西是工作之前,但我把我的电脑在睡眠模式,然后回到这个,现在它根本不工作。有什么想法吗?

你不需要清理一下桌子吗

drop table burger_king_locations_clean PURGE;
drop table burger_king_locations_unresolv PURGE;
“我有一个脚本,我正在运行的家庭作业,看起来是这样的”

你这么说。但是发布的输出显示了两个DROP语句的执行,其中一个失败,两个CREATE语句,其中一个运行两次

为什么
会把餐桌上的汉堡包丢在那里失败?谁知道呢?也许您已经放弃了它,也许之前的创建失败了


同样,我们无法告诉您为什么
create table burger\u king\u locations\u unsolv
运行了两次。也许您的脚本在分号后面有一条斜杠。

注意到,在每个拖放/创建之前至少有一条消息表明它已经被拖放或创建。您只能运行一次。如果您不断尝试反复运行相同的下拉列表(与creates相同),则会出现错误。。。。。是的,两个表只有一个create。。。。。两个表只有一个drop…@ShinTakezou-我们现在不应该将其关闭并再次打开“作为诊断工具吗?在您的示例中,您可以看到两个drop语句+三个create语句(两个ok“table created”x2和一个失败)。请在脚本中验证您没有执行两次..即“否”/“+分号等?@Limey-这只是伏都教:Oracle中的DDL语句已经在执行命令之前和之后发出(隐式)提交。当您将表放入回收站时,它将被重命名,以免与任何真实对象冲突,因此不需要这样做。回收站中的项目将获得一个对象名,如
bin$zzLXL+emx1zgQAB/AQEIpQ==$0
,但如果同一脚本在睡眠状态之前按预期工作,该怎么办?目前还不清楚,OP也没有明确说明是否存在依赖关系,或者他在重新启动机器后从头开始编写脚本(错误)(顺便说一句,如果这不是一个严重的脚本错误,那么知道它是否处于睡眠状态的唯一方法是关闭机器,然后再次打开机器…一般性语句是通用的,但它们不能证明异常自动错误,并且不能应用于特定情况-这确实不是唯一的方法,但更容易确定)如果因为机器处于睡眠状态,Oracle数据库设法实现DDL不一致,我会非常不安。我同意APC可能正确诊断脚本中的斜杠(导致重复执行语句)。我们可以确定的唯一方法是使用完整的未编辑脚本。