Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.23;
Скачать: CL | DM;

Вниз

Дабовление поля в существующую таблицу.   Найти похожие ветки 

 
Sollar   (2003-12-25 18:38) [0]

Здравствуйте, уважаемые мастера!
У меня возникла такая ситуация. В существующую таблицу Paradox (существуют, например, след. поля: ID(Autoincriment), STREET (Alpha 50)) необходимо добавить поле (IDCITY(LongInt)) из моей программы. В DataBase Desktop эта операция проста. Подскажите как это сделать из программы (пример)?


 
Sandman25 ©   (2003-12-25 18:53) [1]

Query.Sql.Add("alter table t1 add idcity integer not null");
Query.ExecSQL


 
Tester   (2003-12-25 19:00) [2]

все так, только если в таблице уже есть данные надо ставить null или сделать значение по умолчанию


 
Sandman25 ©   (2003-12-26 11:02) [3]

Точно.
Или можно так:
alter table t1 add idcity integer
update table t1 set idcity = 1 where street like "%Москва%"
update table t1 set idcity = 2 where street like "%Санакт-Петербург%"
update table t1 set idcity = 3 where idcity is null
alter table t1 modify idcity integer not null


 
Val ©   (2003-12-26 11:06) [4]

Остается вопрос о смысле изменения ддл с клиентского приложения для данного случая.


 
Sandman25 ©   (2003-12-26 11:26) [5]

[4] Val © (26.12.03 11:06)

upgrade программы. Программа при запуске проверяет наличие данного поля, и если его нет, то добавляет его и справочник городов. ИМХО.


 
Val ©   (2003-12-26 11:30) [6]

>Sandman25 © (26.12.03 11:26) [5]
спасибо, я понимаю, зачем это может использоваться, в принципе, я просто уточняю у автора именно по данному вопросу, м.б. он запутался с задачей...


 
Sandman25 ©   (2003-12-26 11:34) [7]

[6] Val © (26.12.03 11:30)

Согласен. Подождем автора...


 
LaidBack   (2003-12-26 15:12) [8]

> upgrade программы. Программа при запуске проверяет наличие
> данного поля, и если его нет, то добавляет его и справочник
> городов. ИМХО.

Как раз это и делает TDbCheck из DegisyDb, там проверяются таблицы в Run-Time с шаблоном, зашитым в exe, и если что-то отличается, то структура подгоняется под шаблон, без потери данных...ну если только не удалять нужно поле :)


 
Sollar   (2003-12-26 18:07) [9]

В БД действительно возникла необходимость модификации набора полей таблицы. Такой подход как создание новой таблицы и копирование из старой таблицы всех записей с соблюдением значения автоинкриментного поля не является хорошим. Спасибо за приведенные примеры и ссылочку на библиотеку. Буду пробовать. 29-го числа напишу, что получилось.



Страницы: 1 вся ветка

Текущий архив: 2004.01.23;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.027 c
3-72673
Dp
2003-12-24 21:55
2004.01.23
Как выполнить запрос посредством скрипта?


1-72715
Vi0let
2004-01-12 03:19
2004.01.23
Как написать одну общую процедуру для форм.


4-72967
DillerXX
2003-11-19 15:16
2004.01.23
Как мне на любое нажатие текстовых клавиш на клавиатуре выполнять


14-72897
Думкин
2004-01-03 07:48
2004.01.23
С Днем Рождения! 3 января.


1-72772
msgipss
2004-01-14 12:23
2004.01.23
Как будет вести себя объект при удалении