Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / переименовать столбец / 4 сообщений из 4, страница 1 из 1
16.04.2008, 02:57
    #35257593
Kru
Kru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переименовать столбец
Подскажите пожалуйста, можно ли в таблице с данными переименовать столбец.
Если да, то как это сделать?

Заранее спасибо
...
Рейтинг: 0 / 0
16.04.2008, 07:09
    #35257642
golsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переименовать столбец
Переименовать столбец нельзя.
Можно сделать следующее:
- Переименовать таблицу и создать на нее view со старым именем таблицы и новым именем столбца
или
- Создать новую таблицу с нужными именами столбцов, перелить в нее данные, навешить все тригера, констрейнты и прочее, после чего drop старую таблицу. Если таблица содержит поле IDENTITY - придется немного пошаманить: определить последний сгенерированнй номер и в create table для этого поля задать GENERATED BY DEFAULT AS IDENTITY START WITH <последнее значение + 1>
...
Рейтинг: 0 / 0
16.04.2008, 22:32
    #35260348
Kru
Kru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переименовать столбец
golsaПереименовать столбец нельзя.
Можно сделать следующее:
- Переименовать таблицу и создать на нее view со старым именем таблицы и новым именем столбца
или
- Создать новую таблицу с нужными именами столбцов, перелить в нее данные, навешить все тригера, констрейнты и прочее, после чего drop старую таблицу. Если таблица содержит поле IDENTITY - придется немного пошаманить: определить последний сгенерированнй номер и в create table для этого поля задать GENERATED BY DEFAULT AS IDENTITY START WITH <последнее значение + 1>

Огромное спасибо за ответ. Вариант с View кажется очень подходящим. По идее, на производительности такая подстановка сказаться не должна. Как Вы думаете, какие могут быть подводные камни. Я с DB2 работаю всего несколько месяцев и для меня многое не очевидно.

Заранее спасибо
...
Рейтинг: 0 / 0
17.04.2008, 06:02
    #35260569
Alexey Kuznetsov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переименовать столбец
KruПодскажите пожалуйста, можно ли в таблице с данными переименовать столбец.
Если да, то как это сделать?
Заранее спасибо

Начиная с DB2 9.1 появилась возможность делать DROP COLUMN
Значит вам надо добавить в таблицу колонку с новым именем сделать
UPDATE t1 set newName = oldName
и затем ALTER TABLE t1 DROP COLUMN oldName;
примерно так.

P.S. я сам не проверял
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / переименовать столбец / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]