当我使用这个命令时它起作用了,这意味着我的表被删除了
DROP TABLE <TABLE NAME> ;
但是当我查询
SQL>SELECT * FROM TAB;
我删除的表没有显示。但是其他一些表格是这样BIN$+NP+VhP7RF2hLc1AoJf+gg==$0
的。
如何删除这种类型的表?
您使用的是最新版本的 Oracle,并且您的表已放置在RECYCLEBIN中。要在第一个实例中完全摆脱它,您可以使用
drop table <table_name> purge;
引用DROP TABLE 上的文档:
如果要在单个步骤中删除表并释放与其关联的空间,请指定 PURGE。如果您指定 PURGE,则数据库不会将表及其相关对象放入回收站。
...
使用此子句相当于先删除表,然后将其从回收站中清除。此子句可让您节省流程中的一个步骤。如果您想防止敏感材料出现在回收站中,它还可以提供增强的安全性。
不过,RECYCLEBIN 可以派上用场……当您不小心丢错桌子时,它是一个额外的备份。如果您在删除表时指定 PURGE,您将永远无法从 RECYCLEBIN 中检索该表。但是请注意,如果您 DROP而不清除对象使用的空间,则不会释放该空间。
要从 RECYCLEBIN 中删除表,您将使用:
purge table "BIN$+NP+VhP7RF2hLc1AoJf+gg==$0";
请注意,由于对象名称是大小写的,因此您需要双引号。
This usually happens in SSMS. The reason behind this is, you must have open that dropped table(Design) in another window.
This was my case, cache/bin still preserve the reference until previous design window is closed.