1

实际上我已经创建了一张表

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命令将普通表更改为物联网。

提前致谢

4

1 回答 1

3

无法使用 analter table将堆表转换为 IOT。

您对 CATS 语句所做的操作可能是最简单的方法。另外两种常用的方法是:

  • 导出表数据,将结构重新创建为 IOT,然后导入数据

  • 使用在线表重新定义。Redefining Tables Online文档明确声明使RDBMS_REDEFINITION您能够:

    将普通表(堆组织)的组织更改为索引组织表,或执行相反的操作。

第二种选择更复杂,但据我所知,这是在线进行的唯一方法。请确保您首先在非关键系统上对其进行测试,包括生成并发修改,如果这是您实时执行时会发生的情况。

于 2013-02-28T12:24:29.747 回答