В начало

Изменение объявления таблиц

 

            Есть база данных «Kadri», а в ней таблица «Sotrudniki».

Рис. 1. Структура таблицы «Sotrudniki»

 

            При создании таблицы «Sotrudniki» мало места выделили для столбца «FIO», да и тип данных не совсем устраивает, поэтому появилась необходимость поменять атрибуты столбца «FIO» без ущерба данным.

Рис. 2. Данные таблицы «Sotrudniki»

 

            Для этого создаем временный столбец «FIO_TEMP». В СУБД «Interbase 6.5» запрос можно выполнить при помощи утилиты «Interactive SQL», которая запускается из «IBConsole».

ALTER TABLE Sotrudniki

ADD FIO_TEMP CHAR(10);

 

Рис. 3. Временный столбец «FIO_TEMP»

 

            Потом копируем содержимое столбца «FIO» во временный столбец «FIO_TEMP».

UPDATE Sotrudniki

SET FIO_TEMP=FIO;

COMMIT;

 

Рис. 4. Копирование данных из «FIO» в «FIO_TEMP»

            Затем пересоздаем столбец «FIO», т.е. удаляем и тут же создаем ,но уже с новыми атрибутами.

ALTER TABLE Sotrudniki

DROP FIO,

ADD FIO VARCHAR(20);

COMMIT;

 

Рис. 5. Пересоздание столбца «FIO»

            А потом копируем данные из «FIO_TEMP» в обновленный столбец «FIO».

UPDATE Sotrudniki

SET FIO=FIO_TEMP;

COMMIT;

            И потом удаляем временный столбец «FIO_TEMP»

ALTER TABLE Sotrudniki

DROP FIO_TEMP;

COMMIT;

            Окончательно у нас должна остаться таблица «Sotrudniki» с нужной структурой. Теперь вместо 10 символов можно в столбец «FIO» впечатывать 20, что не может не радовать.

Рис. 6. Новая структура таблицы «Sotrudniki»

Рис. 7. Старые данные в обновленной таблице «Sotrudniki»