我正在运行oracle SQL 11g,我试图删除一个表,以便我可以重做整个数据库。我已尝试过以下命令。
DROP TABLE orders AND ORDERS
ALTER TALBE DROP ORDERS
DROP TABLE ORDERS
ALTER TABLE PURGE ORDERS
当我尝试添加新表时,我收到此错误
ORA-00955:现有对象已使用名称。
答案 0 :(得分:1)
ORA-00955
已被现有对象
尝试创建数据库对象(例如表, vies)已经存在。用户的数据库对象必须具有 不同的名字。
操作:输入数据库对象的唯一名称或修改或删除 现有的对象,因此可以重复使用。
如果尝试创建现有数据库对象,则会抛出ORA-00955
..
所以你应该先删除表格
DROP TABLE TABLE_NAME
答案 1 :(得分:1)
"我已经尝试了以下命令。"
使用正确的命令,它可以工作:
SQL> desc orders
Name Null? Type
----------------------------------------- -------- ----------------------------
ORDER_NO NOT NULL NUMBER
ORDER_DATE NOT NULL DATE
SQL> drop table orders;
Table dropped.
SQL> desc orders
ERROR:
ORA-04043: object orders does not exist
SQL>
所以,如果它对你不起作用,你做错了什么?
"Orders"
或其他。;
或(在下一行)/
结束命令以执行命令。这应该很容易检查,因为Oracle会告诉你Table dropped.
你是否知道你实际上放弃了这个表。答案 2 :(得分:0)
这意味着您的drop table语句未成功,您的表仍然存在。可能是因为丢弃会违反某些外键约束,或者您只是缺乏放弃表所需的权限。