Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle删除列和未使用列_Oracle - Fatal编程技术网

Oracle删除列和未使用列

Oracle删除列和未使用列,oracle,Oracle,我有一个名为test的表,它有3列: 名字 身份证 地址 过了一段时间,我知道有一列没有使用。我想删除一列,比如说id Oracle有一项功能可以将列标识为未使用的。dropcolumn与setunusedcolumn之间有什么区别?当您删除一个列时,它会移动到回收站中,而当您标记一个列unused时,它就像逻辑上删除它,但实际上保留它一样 有时,将列标记为未使用,然后使用ALTERTABLENAME drop UNUSTED column语句是有用的,因为它允许DBA快速、立即地取消对列的访问

我有一个名为
test
的表,它有3列:

  • 名字
  • 身份证
  • 地址
  • 过了一段时间,我知道有一列没有使用。我想删除一列,比如说
    id


    Oracle有一项功能可以将列标识为未使用的
    drop
    column与set
    unused
    column之间有什么区别?

    当您删除一个列时,它会移动到回收站中,而当您标记一个列unused时,它就像逻辑上删除它,但实际上保留它一样

    有时,将列标记为未使用,然后使用ALTERTABLENAME drop UNUSTED column语句是有用的,因为它允许DBA快速、立即地取消对列的访问。稍后,在例行的数据库维护周末或工作时间之后,您可以删除带有alter table name drop unused列的列以回收空间


    另一方面,标记未使用的列不会释放任何空间,当需要释放空间并删除不需要的列时,最好将其删除。

    实际上,这是一个方便的问题


    设置为“未使用”与删除类似,但允许您将实际的物理删除推迟到以后的日期。

    这是对DBA维护窗口的帮助,一般不供您使用。对于开发者来说,这意味着删除列。就这样,以后再也没有恢复了。如果您在12C中,则使用“不可见”选项。

    否,删除列会将其完全删除-列没有可回收的BIN。