实际上我创建了一个表
CREATE TABLE "ATR"."S_JOURNEY"
(
"TIMETABLE_ID" NUMBER(*,0) primary key,
"STATION_ID" NUMBER(*,0),
"SCHEDULE_ARRIVAL_TIME" VARCHAR2(8 BYTE),
"SCHEDULE_DEPARTURE_TIME" VARCHAR2(8 BYTE),
"OTHER_DETAILS" VARCHAR2(25 BYTE)
);
现在我只想创建一个与上面相同的索引组织表。我可以使用
来获取CREATE TABLE "ATR"."iot_S_JOURNEY" organization index as select * from ATR.s_journey;
无论如何都使用alter
命令将普通表更改为IOT。
提前致谢
答案 0 :(得分:3)
无法使用alter table
将堆表转换为IOT。
使用CATS语句执行的操作可能是最简单的方法。另外两种常用的方法是:
使用在线表格重新定义。 Redefining Tables Online文档明确声明RDBMS_REDEFINITION
可让您:
将普通表(有组织的堆)的组织更改为索引组织表,或者反过来。
第二个选项更复杂,但据我所知,这是在线完成的唯一方法。确保首先在非关键系统上进行测试,包括生成并发修改,如果这是在您实际执行时会发生的情况。