Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как изменить тип поля в БД програмно? [D6, dBase, FoxPro, Paradox]


BiSido ©   (2004-07-01 14:02:00) 

Здравствуйте уважаемые мастера!!!
Вопрос:  
Короче, Я перекидываю данные из БД DBF в Paradox, и возникла проблемма, надо поменять тип одного поля, из Float в Integer

Заранее благодарен!!


Соловьев   (2004-07-02 11:05:00) [1]

INSERT INTO "paradox.db"
(field_int)
SELECT cast(field_float as integer)
FROM "foxpro.dbf"


LaidBack   (2004-07-02 10:59:00) [2]

Попробуй заюзать компонент TDbCheck из DegisyDb - реструктурирует Paradox проще пареной репы :)


Sir John   (2004-07-02 01:54:00) [3]

извините, не в oracle, а в Paradox


Sir John   (2004-07-02 01:51:00) [4]

ответ:BiSido

после перекидывания

меняем только тип
так: "ALTER TABLE имя_таблицы CHANGE старое_имя_поля старое_имя_поля новый_тип_поля"
пример: "ALTER TABLE T1 CHANGE col1 col1 INTEGER"

или так:
так: "ALTER TABLE имя_таблицы MODIFY старое_имя_поля  новый_тип_поля"
пример: "ALTER TABLE T1 MODIFY col1 INTEGER"

меняем только тип и имя поля
так: "ALTER TABLE имя_таблицы CHANGE старое_имя_поля новое_имя_поля новый_тип_поля"
пример: "ALTER TABLE T1 CHANGE col1 col2 INTEGER"

вышеприведенный синтаксис - синтаксис MySQL. Но думаю, что и в Oracle есть нечто аналогичное. Поищите и найдете :)


Reindeer Moss Eater   (2004-07-01 14:29:00) [5]

И почему этот кто-то сразу не может создать целочисленное поле ?


Reindeer Moss Eater   (2004-07-01 14:26:00) [6]

Кто создает таблицу приемник?
Ты?
Тогда зачем создвать поле Float если требуется Int?
Не ты создаешь?
А кто?


GanibalLector   (2004-07-01 14:16:00) [7]

2 BiSido
Если перекидываешь программно,то float*100 и получится у тебя целое.Его и пиши.


Sandman25   (2004-07-01 14:13:00) [8]

alter table mytable modify myfloatfield integer [not null]


BiSido   (2004-07-01 14:12:00) [9]

Причем говоришь, при том что, в 1-й БД поле(Float) а во 2-й нужно что-бы поле стало(Integer).


Reindeer Moss Eater   (2004-07-01 14:05:00) [10]

А при чем здесь "перекидывание"?


Наверх

Титульная страница Поиск, карта сайта Написать письмо