当我使用这个命令时,它起作用了,这意味着我的表被删除了
DROP TABLE <TABLE NAME> ;但是当我查询时
SQL>SELECT * FROM TAB;我删除的表没有显示。但其他一些表,如BIN$+NP+VhP7RF2hLc1AoJf+gg==$0,是这样的。
如何删除此类型的表?
发布于 2013-05-18 23:41:08
您正在使用最新版本的Oracle,并且您的表已放置在RECYCLEBIN中。要在第一个实例中完全摆脱它,您可以使用
drop table <table_name> purge;引用DROP TABLE上的the documentation:
如果要在单个步骤中删除表并释放与其关联的空间,请指定
。如果指定清除,则数据库不会将表及其从属对象放入回收站。
..。
使用此子句相当于首先删除表,然后将其从回收站中清除。此子句允许您在该过程中节省一个步骤。如果您想要防止敏感材料出现在回收站中,它还可以提供增强的安全性。
不过RECYCLEBIN可以派上用场。这是一个额外的备份,当您只是意外地丢失了错误的表。如果在删除表时指定PURGE,则永远无法从RECYCLEBIN中检索该表。但是,请注意,如果在不清除的情况下删除,对象所使用的空间将不会被释放。
要从RECYCLEBIN中删除该表,您可以使用:
purge table "BIN$+NP+VhP7RF2hLc1AoJf+gg==$0";请注意,由于对象名称是大小写的,因此需要使用双引号。
发布于 2021-06-08 21:52:11
这通常发生在SSMS中。这背后的原因是,您必须在另一个窗口中打开已删除的表(Design)。
这就是我的情况,cache/bin仍然保留引用,直到上一个设计窗口关闭。
https://stackoverflow.com/questions/16626006
复制相似问题