Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
db_lectures / 06. Изменение таблиц. Ограничения целостности.docx
Скачиваний:
70
Добавлен:
21.05.2015
Размер:
23.27 Кб
Скачать

Изменение типа данных колонки

Чтобы преобразовать колонку к другому типу данных, используйте команду вида:

ALTER TABLE products ALTER COLUMN price TYPE numeric(10,2);

Команда выполнится успешно только если каждая существующая запись в колонке может быть преобразована к новому типу через неявное приведение типа.

PostgreSQL будет пытаться преобразовать к новому типу значение по умолчанию, заданное для колонки, а также все ограничения, связанные с этой колонкой. Но эти преобразования могут завершиться ошибкой или могут привести к неожиданным результатам. Часто, лучше удалить все ограничения на колонку перед тем как изменить её тип, а затем добавить соответственно изменённые ограничения обратно.

Переименование колонки

ALTER TABLE products RENAME COLUMN product_no TO product_number;

Переименование таблицы

ALTER TABLE products RENAME TO items;

Удаление таблиц

DROP TABLE [ IF EXISTS ] name [, ...] [CASCADE|RESTRICT]

Удаляет одно или больше определений таблиц и все данные, индексы, триггеры, ограничения и разрешения для этих таблиц.

Инструкцию DROPTABLEнельзя использовать для удаления таблицы, на которую ссылается ограничениеFOREIGNKEY. Сначала следует удалить ссылающееся ограничениеFOREIGNKEYили ссылающуюся таблицу. Если и ссылающаяся таблица, и таблица, содержащая первичный ключ, удаляются с помощью одной инструкцииDROPTABLE, ссылающаяся таблица должна быть первой в списке.

Несколько таблиц можно удалить из любой базы данных. Если удаляемая таблица ссылается на первичный ключ другой таблицы, которая также удаляется, ссылающаяся таблица с внешним ключом должна стоять в списке перед таблицей, содержащей указанный первичный ключ.

При удалении таблицы относящиеся к ней правила и значения по умолчанию теряют привязку, а любые связанные с таблицей ограничения или триггеры автоматически удаляются. Если таблица будет создана заново, нужно будет заново привязать все правила и значения по умолчанию, заново создать триггеры и добавить необходимые ограничения.