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

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

Изменение типа и имени столбца [D5, IB6.x]


viper ©   (2002-12-28 11:33:00) 

Как на SQL изменить тип или имя колонки?


kaif   (2002-12-28 16:17:00) [1]

alter table ... alter column ... to <новое имя>
alter table ... alter column ... type <новый тип>
alter table ... alter column ... position <новая позиция>
Но не все изменения сервер примет, если речь идет о типе. Например, невозможно varchar(100) превратить в varchar(99)


passm   (2002-12-28 12:58:00) [2]

Anatoly Podgoretsky © (28.12.02 12:54)> Может. Все зависит от возможностей ALTER TABLE.


Anatoly Podgoretsky   (2002-12-28 12:54:00) [3]

passm © (28.12.02 12:21)
Может не стоит грохать всю таблицу, досточно только одно поле, с сохранением данных максимум за 6 шагов, без сохранения за два


myor   (2002-12-28 12:39:00) [4]


> изменитьтип или имя колонки


а может лучше (корректнее, безопаснее и т. д.) добавитьновое поле


passm   (2002-12-28 12:21:00) [5]

viper (28.12.02 11:33)>
if not(Working("ALTER TABLE...")) then
begin
exec sql "CREATE TABLE TABLE_COPY1 AS SELECT * FROM TABLE1";
exec sql "DROP TABLE TABLE1";
exec sql "CREATE TABLE TABLE1 AS"
"SELECT T1.FIELD1, CAST(T1.FIELD1 AS NEW_TYPE) AS NEW_FIELD..."
end;

Это, разумеется, принцип.


Наверх

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