如何在Oracle中重新排序表的列[重复]

uxhixvfz  于 2023-04-05  发布在  Oracle
关注(0)|答案(1)|浏览(224)

此问题在此处已有答案

Re-order columns of table in Oracle(5个答案)
3天前关闭。
我可以在oracle中重新排序列的位置吗?
如果是的话,我该怎么做呢?
我也试过这个

ALTER TABLE PANEL ADD ID NUMBER GENERATED BY DEFAULT AS IDENTITY FIRST;
rnmwe5a2

rnmwe5a21#

如果您希望对按顺序存储在块中的列进行重新排序,并且在执行SELECT *时它们会出现,则必须重新创建表。
1.创建一个新表并将旧表中的数据插入到新表中(使用CREATE TABLE AS SELECT一步完成)
1.添加任何索引/约束/赠款
1.放下旧table
1.将新表重命名为旧表的名称。
但在 * 大多数 * 情况下,真实的上并不需要这样做,因为物理列顺序和查询的呈现顺序并不相关。它只对SELECT *INSERT VALUES有关系,而不指定列列表。这两个都不是好的编程实践。[我想如果你有一个超过255列的表(坏主意)你可以把访问最多的列放在前255列中,并把任何很少访问的列推到后面的位置,以减少行链读取的数量,但更好的解决方案是将表分解并始终保持在255列以下。

相关问题