#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 и т.д. если вы хотите переместить структуру базы данных из одной базы данных в другую.