![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Реструктуризация таблицы Paradox программно [D6, Paradox]
OlegKrt © (2002-11-05 15:49:00)Кто знает, как можно произвести реструктуризацию (добавление, удаление поля, а главное изменение типа или размера поля) таблицы Paradox программно. Если удаление и добавление нового поля можно произвести с помощью Alter table, то как изменить размер поля (string,blob или numeric) не теряя при этом данных
mike-d (2002-11-05 16:34:00) [1]http://www.dbwork.kuban.ru/rus/index.html
TDbCheck, TRenameFields компоненты решат Ваши проблемы!
Одно небольшое дополнение:
Эта компонента не всегда корректно правит индексы после сбоев электропитания (вероятно не обнаруживает, что они битые), а также при наличии файлов БД с расширением .VAL (значения по умолчанию).
Лечится все это элементарным удалением индексов и *.val. И вообще (из личного опыта) значениями по умолчанию лучше не пользоваться, для этого есть AfterInsert.
MsGuns (2002-11-05 16:22:00) [2]Делешь цепочку альтеров
1. Создаешь новое поле NewPole с нужной длиной, названием, типом и т.д. В него суешь содержимое OldPole
2. Удаляешь поле OldPole
3. Поле NewPole перименовываешь в OldPole (если название поля надо оставить)
А можно и TBatchMove, где в качестве целевой используется предварительно созданная новая, "правильная" таблица, в режиме добавления и с контейнером связок "Старе поле">"Новое поле", с последующим удалением старой таблы и переименованием новой в старое имя. В этом случае можно получить даже НД с "неуместившимися" данными (Problems).
Val (2002-11-05 16:14:00) [3]такой вопрос уже был на прошлой неделе, поищите.
предложен класический хороший вариант - воспользоваться тем же alter table - добавить временный столбец с нужным вам типом, перекачать в него данные, удалить текущий, создать уже с нужным именем и типом, перекачать данные и удалить временный.