Изменение столбцов в таблице
Изменение столбцов в таблице
Существующие столбцы в таблице могут быть изменены в нескольких отношениях, а именно:
* имя столбца может быть изменено на другое имя, не используемое в таблице;
* столбец может быть "перенесен" на другую позицию в системе упорядочивания столбцов слева направо;
* возможно преобразование несимвольных данных в символьные с некоторыми ограничениями.
Синтаксис
Используйте следующий синтаксис для ALTER TABLE:
ALTER TABLE таблица
ALTER [COLUMN] имя-простого-столбца изменение;
изменение = новое-имя-столбца | новый-тип-столбца | новая-позиция-столбца
новое-имя-столбца = ТО имя-простого-столбца
новый-тип-столбца = TYPE тип-данных-или-домен
новая-позиция-столбца = POSITION целое
! ! !
ПРИМЕЧАНИЕ. Если вы пытаетесь переименовать столбец, вы можете неожиданно получить проблемы зависимостей, если на столбец существуют ссылки из ограничений или он используется в просмотрах, триггерах или хранимых процедурах.
. ! .
Примеры
Здесь мы изменяем имя столбца с EMP_NO на EMP_NUM:
ALTER TABLE EMPLOYEE
ALTER COLUMN EMP_NO TO EMP_NUM;
/* ключевое слово COLUMN необязательно */
Теперь изменяется позиция столбца:
ALTER TABLE EMPLOYEE
ALTER COLUMN EMP_NUM POSITION 4;
В этот раз тип данных EMP_NUM заменяется с INTEGER на VARCHAR (20):
ALTER TABLE EMPLOYEE
ALTER COLUMN EMP_NUM TYPE VARCHAR(20) ;
Ограничения при изменении типа данных
Firebird не позволит вам изменить тип данных столбца или домена, в результате чего могут потеряться данные.
* Новое определение столбца должно позволять использовать существующие данные. Если, например, новый тип данных имеет слишком много байтов, или не поддерживается преобразование типов данных, то возвращается ошибка, и изменения не выполняются.
* Когда числовые типы преобразуются в строковый тип, каждый числовой тип рассматривается как предмет с минимальной длиной в байтах в соответствии с типом (см. рис. 8.1).
* Преобразование символьных данных в несимвольные недопустимо.
* Столбцы массивов и BLOB не могут быть преобразованы.
! ! !
ВНИМАНИЕ! Любые изменения определения полей могут потребовать пересоздания индексов.
. ! .
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Просмотр записей в таблице
Просмотр записей в таблице После того как мы произвели копирование записной книжки в таблицу Phone.dbf, возникает естественное желание просмотреть из сценария введенные записи. Напишем для этой цели сценарий ListRecords1.js, результат работы которого представлен на рис. 9.10. Рис.
6.5 Хост в таблице маршрутизации IP
6.5 Хост в таблице маршрутизации IP Предположим, что нужно переслать данные:Из: 130.15.12.131В: 192.45.89.5Быстрая проверка маски подсети показывает, что система назначения не принадлежит локальной подсети. В этом случае IP должен обратиться к локальной таблице маршрутизации.Таблица
7.2.6. Создание пользовательских цепочек в таблице filter
7.2.6. Создание пользовательских цепочек в таблице filter Итак, у вас перед глазами наверняка уже стоит картинка движения пакетов через различные цепочки, и как эти цепочки взаимодействуют между собой! Вы уже должны ясно представлять себе цели и назначение данного сценария.
Редактирование текста в таблице
Редактирование текста в таблице Работа с текстом, находящимся внутри таблицы, практически ничем не отличается от работы с обычным текстом. Для данных таблицы можно устанавливать любое форматирование, использовать привычные команды редактирования. Для перемещения
5.4. Сортировка данных в таблице
5.4. Сортировка данных в таблице Сортировка данных – это одна из наиболее важных команд для организации таблицы. Целью сортировки часто является упорядочивание записей на основе выбранного критерия. Часто сортировку используют, если данные в таблице набирались
Изменение ширины столбцов
Изменение ширины столбцов Изменить ширину столбца (или группы столбцов) вы можете несколькими способами. На разных этапах работы вы, скорее всего, будете использовать все известные способы изменения ширины столбца, так как в каждом конкретном случае наиболее удобным
Изменение определения столбцов и доменов
Изменение определения столбцов и доменов В обоих диалектах вы можете изменять тип данных доменов и столбцов в таблицах. Если вы выполняете миграцию базы данных из другой СУБД, это может быть полезным. Существуют некоторые ограничения при изменении типа данных.* Firebird не
Удаление столбцов
Удаление столбцов Владелец таблицы может использовать ALTER TABLE для удаления определения столбца и его данных из таблицы. Удаление столбца приводит к потере всех хранимых в нем данных. Удаление приводит к немедленному эффекту, независимо от других транзакций, работающих с
Изменение строк в той же таблице
Изменение строк в той же таблице Прежде чем решать вопрос об использовании триггера для изменения строк в той же самой таблице, внимательно рассмотрите возможность завершения цикла вложенной деятельности. Если триггер выполняет действие, которое приводит к вызову
Форматирование текста в таблице
Форматирование текста в таблице Текст, который вы будете вводить в таблицу, можно форматировать так же, как обычный, размещенный в документе Word, – можно изменять его шрифт, устанавливать формат абзаца, тип выравнивания и т. д.При этом надо научиться правильно выделять
Примечание к таблице 1
Примечание к таблице 1 Передо мной стоит практически невыполнимая задача - на двух страницах внятно рассказать о четырех ноутбуках, на каждый из которых нужно как минимум по полосе. Проще всего привести таблицу спецификаций и проиллюстрировать ее фотографиями, однако
Ввод и форматирование текста в таблице
Ввод и форматирование текста в таблице Для начала ввода текста в таблицу щелкните кнопкой мыши на нужной ячейке, чтобы установить в нее текстовый курсор, после чего начинайте набор текста. Если текст не будет помещаться в ячейку, ее высота автоматически увеличится, а
Типы данных в таблице
Типы данных в таблице Для создания таблицы нужно знать названия необходимых полей и тип данных в каждом из них. Решение об использовании полей того или иного типа обычно принимается при проектировании базы данных, причем каждое поле должно содержать определенный тип