Drop Table命令在Oracle SQL Developer中不起作用,使用后不会删除现有表吗?

问题描述 投票:0回答:1
drop Table countries;
drop Table regionss;

create TABLE regionss(
region_id NUMBER(3),
region_Name VARCHAR2(25),
CONSTRAINT regions_pk PRIMARY KEY(region_id)
);

create TABLE countriess(
country_id CHAR(2),
country_Name VARCHAR2(40),
region_id NUMBER(3),
CONSTRAINT countries_pk PRIMARY KEY(country_id),
CONSTRAINT regions_countries_fk FOREIGN KEY (region_id) REFERENCES regionss (region_id) 
);

我遇到这些错误

Error starting at line : 4 in command -
create TABLE regionss(
region_id NUMBER(3),
region_Name VARCHAR2(25),
CONSTRAINT regions_pk PRIMARY KEY(region_id)
)
Error report -
ORA-00955: name is already used by an existing object
00955. 00000 -  "name is already used by an existing object"
*Cause:    
*Action:

Error starting at line : 10 in command -
create TABLE countriess(
country_id CHAR(2),
country_Name VARCHAR2(40),
region_id NUMBER(3),
CONSTRAINT countries_pk PRIMARY KEY(country_id)
)
Error report -
ORA-00955: name is already used by an existing object
00955. 00000 -  "name is already used by an existing object"
*Cause:    
*Action:

不是Drop命令删除给它的现有表的功能吗?除非我更改表的名称,否则它将不起作用,但是更改名称后,再次出现,当我第二次尝试运行代码时,它再次给了我上述错误。

sql oracle oracle-sqldeveloper ddl
1个回答
0
投票

这是因为您要删除表countries并创建表countriess。这会导致错误链:

  • 您不能删除不存在的表(countries
  • [regionss存在,但具有防止丢失的外键(来自coutriess)。

SQL> drop Table countries;
drop Table countries
           *
ERROR at line 1:
ORA-00942: table or view does not exist


SQL> drop Table regionss;
drop Table regionss
           *
ERROR at line 1:
ORA-02449: unique/primary keys in table referenced by foreign keys
© www.soinside.com 2019 - 2024. All rights reserved.