在Oracle中,当我删除列时会发生什么?
当我从一个填充的表中删除一列时,会发生什么样的事情。在所有_tab_列中,是否重置了其他列的列_id 这些行动将至少包括以下内容:在Oracle中,当我删除列时会发生什么?,oracle,Oracle,当我从一个填充的表中删除一列时,会发生什么样的事情。在所有_tab_列中,是否重置了其他列的列_id 这些行动将至少包括以下内容: 该列中存储的数据丢失 引用该列的视图是无效的,但是(根据-谢谢!)它们不会被删除;在修改以使用修改后的模式之前,它们一直无效 引用该列的存储过程无效-同样的警告 将重置以下列的列ID号 将删除对该列授予的权限 将删除引用该列的索引 更改表格下拉列 将实际访问每个块并删除列数据——对于一个大表来说,这是一件昂贵的事情 您可能会发现发布以下内容更为谨慎: 更改未使用的
- 该列中存储的数据丢失
- 引用该列的视图是无效的,但是(根据-谢谢!)它们不会被删除;在修改以使用修改后的模式之前,它们一直无效
- 引用该列的存储过程无效-同样的警告
- 将重置以下列的列ID号
- 将删除对该列授予的权限
- 将删除引用该列的索引
它只是在字典中将列标记为“已消失”。如果您仍然需要回收该空间,您可以在安静的时间安排“alter table drop unused”(更改表删除未使用的表)这是一个好问题,我不知道,但我希望删除列实际上会保留相同的列ID,除非在后台重建表。视图/过程不会被删除,但将被宣告无效,并且(大部分)将继续无效。