Как я могу воссоздать таблицу как организованную по индексу? - PullRequest
1 голос
/ 13 апреля 2011

В базе данных Oracle 10g я хотел бы воссоздать таблицу (сохраняя все ее данные) в виде индекса. Какой самый простой способ сделать это?

1 Ответ

3 голосов
/ 13 апреля 2011
RENAME EXISTING_TABLE TO OLD_HEAP_TABLE;

CREATE TABLE NEW_IOT_TABLE AS
 ([COLUMNS FROM EXISTING TABLE]
  CONSTRAINT NEW_IOT_TABLE_PK PRIMARY KEY ([PK_COLUMNS FROM EXISTING TABLE]
 )
 ORGANIZATION INDEX;


INSERT INTO NEW_IOT_TABLE
SELECT * FROM OLD_HEAP_TABLE;

COMMIT;

RENAME NEW_IOT_TABLE TO EXISTING_TABLE;

-- DROP OLD_HEAP_TABLE when you're sure it all worked.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...