簡體   English   中英

刪除列時Oracle中會發生什么?

[英]What happens in Oracle when I drop a column?

當我從填充表中刪除列時會發生什么樣的事情。 在all_tab_columns中,其他列的column_id是否會重置?

這些行動至少包括以下內容:

  • 存儲在該列中的數據將丟失。
  • 引用該列的視圖無效 - 但(根據加里 - 謝謝!)它們沒有丟棄; 它們保持無效,直到修改為使用修改后的模式。
  • 引用該列的存儲過程無效 - 同樣需要注意。
  • 以下列的列ID號將被重置。
  • 將刪除對該列授予的權限。
  • 引用該列的索引將被刪除。

alter table drop column

實際上將訪問每個塊並刪除列數據 - 這對於大型表來說是一件昂貴的事情。

你可能會發現更謹慎的問題:

alter table set unused

它只是將列標記為字典中的“已消失”。 如果您仍需要回收該空間,則可以在安靜的時間安​​排“未使用alter table drop”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM