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

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

SQL в Delphi


Страницы:   1 2

Нов_и_чок ©   (2008-09-24 14:02:00) 

Уважаемые мастера, подскажите как с помощью SQL запроса можно поменять тип поля в таблице - если это возможно???


Anatoly Podgoretsky   (2008-09-25 15:21:00) [1]

Данный вопрос никакого отношения к Дельфи не имеет и должен решать в документации по движку/субд.


Поросенок Винни-Пух   (2008-09-25 12:00:00) [2]

подробнее в LOCALSQL.HLP


Нов_и_чок   (2008-09-25 12:00:00) [3]

Уважаемый, Поросенок Винни-Пух!
Пожалуйста поподробнее!!!


Поросенок Винни-Пух   (2008-09-25 11:54:00) [4]

каст


Нов_и_чок   (2008-09-25 11:52:00) [5]


> Anatoly Podgoretsky ©   (24.09.08 15:12) [12]
> Незаметил.
> Тогда как минимум
>
> создать временное поле с другим именем
> скопировать
> удалить старое поле
> создать старое поле но уже нужного типа
> скопировать из временного
> удалить временное
>
> итого 6 стандартных шагов, если же и это не возможно, то
> те-же 6 шагов, но над всей таблице.


Копирование поля одного типа в поле другого типа не работает! :((((((
Копирую так:
UPDATE tbl_name SET field1=field2;
если field1 типа char(10), а field2 типа char(20) Все работает
Но если field2 типа date, то ошибка типов.
Как можно их привести к одному типу???


Правильный$Вася   (2008-09-24 18:13:00) [6]


> Везде делается по одинаковому.Дропается старое, создается новое.

глупости


Anatoly Podgoretsky   (2008-09-24 15:21:00) [7]

> Нов_и_чок  (24.09.2008 15:14:13)  [13]

Нехорошо таблицу называть table

Какой движок? Если LocalSQL то такого синтаксиса у него нет!


Поросенок Винни-Пух   (2008-09-24 15:16:00) [8]

поробуй не как у mysql написано, а как написано у дибейса


Нов_и_чок   (2008-09-24 15:14:00) [9]

СУБД DBase 4.0
Пробовал как описано в MySQL:
Alter table table modify field1 char(10); - не работает??? :(


Anatoly Podgoretsky   (2008-09-24 15:12:00) [10]

Незаметил.
Тогда как минимум

создать временное поле с другим именем
скопировать
удалить старое поле
создать старое поле но уже нужного типа
скопировать из временного
удалить временное

итого 6 стандартных шагов, если же и это не возможно, то те-же 6 шагов, но над всей таблице.


Поросенок Винни-Пух   (2008-09-24 15:07:00) [11]

конешна. но в вопросе есть оговорка "- если это возможно???"


Anatoly Podgoretsky   (2008-09-24 15:01:00) [12]

А в состоянии представить такие СУБД, в которых запрещена реструктиризация полей?


Поросенок Винни-Пух   (2008-09-24 14:56:00) [13]

я все их в состоянии представить


Anatoly Podgoretsky   (2008-09-24 14:47:00) [14]

Поросенок Винни-Пух ©   (24.09.08 14:15) [7]
Количество СУБД гораздо больше, чем ты в состоянии представить, а некоторые весьма экзотические.


Поросенок Винни-Пух   (2008-09-24 14:15:00) [15]

в разных СУБД это делается (или не делается) по-разному

Везде делается по одинаковому.
Дропается старое, создается новое.
Иногда правда вся эта кухня спрятана под обработчиком хоткея F2


Поросенок Винни-Пух   (2008-09-24 14:14:00) [16]

да, это эквивалентно поменять.


Правильный$Вася   (2008-09-24 14:13:00) [17]


> addnewfield

это поменять?!

> Нов_и_чок   (24.09.08 14:02) 

в разных СУБД это делается (или не делается) по-разному


Поросенок Винни-Пух   (2008-09-24 14:06:00) [18]

alter table table add newfield char(n)


Sergey13   (2008-09-24 14:04:00) [19]

> [1] Нов_и_чок   (24.09.08 14:03)
> А именно DATE на CHAR(n)

Если храниться будет все таки дата, то менять не надо. А то огребешь потом по полной программе.


Нов_и_чок   (2008-09-24 14:03:00) [20]

А именно DATE на CHAR(n)


Страницы:   1 2

Наверх

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