Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Informix [игнор отключен] [закрыт для гостей] / Как создать копию таблицы в одной и той же схеме / 5 сообщений из 5, страница 1 из 1
30.03.2006, 19:51
    #33636236
leonandr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать копию таблицы в одной и той же схеме
Привет всем.

Подскажите как создать копию таблицы, назначив копии известное имя.
Можно и временную таблицу. Главное, чтобы структура совпадала.

Заранее спасибо
...
Рейтинг: 0 / 0
30.03.2006, 20:35
    #33636297
vasilis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать копию таблицы в одной и той же схеме
...
Рейтинг: 0 / 0
31.03.2006, 10:51
    #33636964
leonandr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать копию таблицы в одной и той же схеме
vasilis http://www.sql.ru/forum/actualthread.aspx?tid=266473
Много разговоров, а реального предложения нет.

Может эту задачу можно решить по другому? Есть приложение, которое работате с базой через JDBC.
Необходимо:
1. Вставить в таблицу большое количество записей (1 000 000). Тут без коммита хотя бы через 10000 инсертов не обойтись. Операция довольно долгая. Порядка 3 часов. В это время коннект может обломаться.
2. В случае, если 1 000 000 инсертов не выполнились, необходимо вернуть таблицы состояние до начала всех операций.

Я это хочу сделать так:
1. Создать копию таблицы с другим именем.
2. Проделать все действия с копией.
3. Удалить старую таблицу и переименовать копию.

ПОследняя операция займет мало времени и поэтому вряд ли обломится
...
Рейтинг: 0 / 0
31.03.2006, 17:14
    #33638282
Daugava
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать копию таблицы в одной и той же схеме
Реальных предложений по ссылке 2 килограмма.
Исходя из дополнений, вариант с временной таблицей отбрасываем. Так как сделать из временной постоянную одним движением руки не получится.

Посему делать надо как и предлагалось в одном из моих сообщений по этой ветке.

1. С помощью любого средства создать таблицу (за не имением ничего пользуемся стандартной dbschema, vi (ваш любимый текстовый редактор), dbaccess).
2. Разносим операцию переноса на 2 части - выгрузку данных в текст (unload в dbaccess) и загрузку ее с помощью вашей любимой тулзы (мне больше нравится dbload).
3. Колбасите таблицу.
3. Переименовываете таблицу.

Все конечно замечательно, но обычно такой метод не работает. Поскольку в реальности таблица будет содержать foreign key, на создание которого потребуется весьма длительное время, сравнимое по времени с закачкой данных, а если их несколько, то еще и более длительное.

Что в этом не ясно? Задайте вопрос, постараемся ответим.
...
Рейтинг: 0 / 0
02.04.2006, 23:22
    #33639980
Двоюшник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать копию таблицы в одной и той же схеме
Сделай проще :
1. Сделай таблицу
2. Вставь в нею записи
3. Вставь в нужную из временой
4. Удали временую

---
Ну ты заходи ежели чё...
...
Рейтинг: 0 / 0
Форумы / Informix [игнор отключен] [закрыт для гостей] / Как создать копию таблицы в одной и той же схеме / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]