2014-04-13 82 views
2

我们有与如何从Oracle SQL中删除的表中删除注释?

CREATE TABLE EXAM 
date DATE NOT NULL; 

创建一个SQL表后来我们向表中添加注释和列“考试”另一条评论:

COMMENT ON TABLE EXAM IS 'Exams of the year'; 
COMMENT ON COLUMN EXAM.DATE IS 'Date of the exam'; 

的问题是,删除后表:

DROP TABLE EXAM CASCADE CONSTRAINT; 

我们咨询栏用户的使用意见:

SELECT * FROM USER_COL_COMMENTS; 

,我们发现这样的事情:

BIN $ mw7H0FUoSiiAatqV7Hehog ==考试

和很多行,像这样一个表名$ 0 DATE日期。每次我创建一个表并向它添加一条评论,然后删除它时,我发现有一组具有相似名称的行(BIN $ mw7H0FUoSiiAatqV7Hehog == $ 0),并带有已删除表的注释。

所以,我想知道是否有可能删除所有这种评论。

回答

2

默认情况下,当您删除一个表时,它将被置于您的回收站中。如果你发现你无意中丢掉了一张桌子,这可以让你摆脱桌面。

您可以阻止表从使用PURGE条款去回收站,即

DROP TABLE exam PURGE 

您可以清除一切出当前用户的回收站

PURGE RECYCLEBIN 

你可以(假设你有特权)清除每个用户的回收站中的所有内容

PURGE DBA_RECYCLEBIN 

您可以禁用系统或会话的回收站

ALTER SYSTEM SET recyclebin = OFF scope = BOTH 
ALTER SESSION SET recyclebin = OFF