Иллюстрированный самоучитель по PostgreSQL

Использование таблиц

Назначение и отмена значений по умолчанию

При модификации существующих таблиц наибольшая свобода действий предоставляется при выборе значений по умолчанию. Программист может относительно легко назначать и отменять эти значения для отдельных полей, для чего используется команда ADD TABLE с секцией ALTER COLUMN.

В PostgreSQL команда ALTER TABLE, назначающая или отменяющая значение по умолчанию для поля имя_поля, имеет следующий синтаксис:

ALTER TABLE таблица
ALTER [ COLUMN ] имя_поля
(SET DEFAULT значение ] DROP DEFAULT }

Как и в предыдущем разделе, ключевое слово COLUMN является необязательным включается в команду лишь для наглядности. В листинге 4.9 приведен пример назначения и отмены простой последовательности значений по умолчанию для оля id таблицы books.

Листинг 4.9. Изменение значений по умолчанию.

Doktown=# ALTER TABLE books
3oktOwn-# ALTER COLUMN id
x>ktown-# SET DEFAULT nextvalС books.ids'):
JER
}oktown=# \d books
TABLE "books" Attribute | Type | Modifier
id integer not null default nextval('books.ids'::text)
1tle | text not null
juthorjd | integer;ubject_id | integer j idex: books_id_pkey
)oktown=# ALTER TABLE books)oktown-# ALTER id
)oktown-# DROP DEFAULT;
JER
joktown=# \d books
TABLE "books" Attribute | Type | Modifier
id | integer | not null
;itle | text not null
iuthor_id j integer;ubject_id j integer idex: books_id_pkey

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

Переименование таблиц осуществляется командой ALTER TABLE с секцией RENAME, синтаксис переименования таблицы:

JER TABLE таблица
RENAME TO новое_иня

Таблицу можно переименовывать сколько угодно раз, это никак не отражается а состоянии хранящихся в ней данных (листинг 4.10). Конечно, в некоторых ситуациях переименования нежелательны – например, если таблица используется вешним приложением.

Листинг 4.10. Переименование таблицы.

oktown=# ALTER TABLE books RENAME TO literature;
TER
oktown=# ALTER TABLE literature RENAME TO books;
TER
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.