2014-04-13 165 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