создайте резервную таблицу со всеми параметрами

#oracle

#Oracle

Вопрос:

Я пытаюсь переместить данные из одной таблицы TABLE5 в другую TABLE5_BKP .

 CREATE TABLE TABLE5_BKP AS SELECT * FROM TABLE5;
 

Таблица создана, а данные перемещены. когда я проверил ограничения,

Первичный ключ, внешний ключ и т.д. не генерируются, но все другие ограничения, такие как,

 SYS_C2211111    Check   "COLUMN1" IS NOT NULL
 

создаются и т.д. Что делать в этом случае? Нужно ли создавать первичный ключ, внешний ключ и т.д. отдельно? Как насчет индексов и других параметров, которые я не смог проверить?

Комментарии:

1. Да, вам нужно создать это отдельно. Однако вы можете использовать dbms_metadata.get_ddl() для извлечения этой информации и повторного создания необходимого скрипта DDL

Ответ №1:

Вы не можете неявно создавать PK, FK, индексы и т.д., Просто используя

 CREATE TABLE tablename AS SELECT *...
 

Вы должны указать их после создания. Также я предлагаю вам использовать инструменты oracle, такие как exp / imp, data pump и т.д. если вы хотите переместить структуру базы данных из одной базы данных в другую.