【问题标题】:How to delete comments from a removed table in Oracle SQL?如何从 Oracle SQL 中删除的表中删除注释?
【发布时间】:2014-04-13 08:45:39
【问题描述】:

我们有一个创建的 SQL 表

CREATE TABLE EXAM
date DATE NOT NULL;

稍后我们在表格中添加一条评论,并在“考试”列中添加另一条评论:

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

问题是删除表后:

DROP TABLE EXAM CASCADE CONSTRAINT;

我们通过以下方式咨询列用户的 cmets:

SELECT * FROM USER_COL_COMMENTS;

我们发现了类似的东西:

BIN$mw7H0FUoSiiAatqV7Hehog==$0 DATE 考试日期

还有很多这样的 table_name 行。每次我创建一个表并为其添加注释然后删除它时,我都会发现一组具有相似名称的新行 (BIN$mw7H0FUoSiiAatqV7Hehog==$0) 与已删除表的 cmets。

所以,我想知道是否可以删除所有此类 cmets。

【问题讨论】:

    标签: sql oracle11g comments oracle-sqldeveloper


    【解决方案1】:

    默认情况下,当您删除一个表时,它会被放入您的回收站。如果您发现无意中删除了表,则可以取消删除表。

    您可以通过使用PURGE 子句来阻止表进入回收站,即

    DROP TABLE exam PURGE
    

    您可以清除当前用户回收站中的所有内容

    PURGE RECYCLEBIN
    

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

    PURGE DBA_RECYCLEBIN
    

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

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

    【讨论】:

      猜你喜欢
      • 2011-07-22
      • 2010-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-04
      • 1970-01-01
      相关资源
      最近更新 更多