![]() |
1
4
重置列的最快方法是 SET UNUSED 列,然后添加具有相同名称和数据类型的列。 这将是最快的方法,因为两个操作都不会触及实际表(仅字典更新)。 就像在 Nivas' answer 列的实际顺序将被更改(reset列将是最后一列)。如果您的代码依赖于列的顺序(它不应该!)您可以创建一个视图,该视图将在 正确的 顺序(重命名表、创建与旧表同名的视图、从基表撤消授予、向视图添加授予)。 SET UNUSED方法不会回收列使用的空间(而删除列将释放每个块中的空间)。 |
![]() |
2
2
如果该列可以为空(因为默认值为空,我认为是这种情况),那么是否再次删除并添加该列? |
![]() |
3
1
如果你正在开发,为什么你需要7000万个记录?为什么不针对数据的子集进行开发呢? |
![]() |
4
1
你试过用倒叙表吗? 例如:
这样做的目的是确保每次运行测试时处理的表都是相同的。当然,您需要确保有足够的撤消操作来保存更改。 |
![]() |
5
0
嗯。也许给状态栏加个索引。 或者,添加一个新表,其中只包含主键。然后在转换记录时插入该表,并TRUNC该表以重置。。。 |
![]() |
6
0
我喜欢其他一些答案,但我刚在一本调整书中读到,由于几个原因,重建表通常比在表上进行大量更新更快。在本例中,这似乎是理想的,因为您将把CREATE TABLE X编写为SELECT,希望只有很少的列。 |
![]() |
vytaute · 返回表类型时Oracle函数中的类型错误 3 年前 |
![]() |
BetaRide · Oracle架构用户无法在过程中创建表 7 年前 |
|
F.donoso · 嵌套的隐式游标未在数据中清除 7 年前 |
![]() |
ADH · 如何在网格中调用过程和输出结果 7 年前 |