![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Изменение типа и имени столбца [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;
Это, разумеется, принцип.