#postgresql
Есть таблица с заполненными данными:
CREATE TABLE "Виплата"
(
old integer NOT NULL,
"Код_договору" integer,
"Дата" timestamp(0) without time zone,
"Сума_виплат" text,
"Оплата" boolean,
"Код" integer,
CONSTRAINT "Виплата_pkey" PRIMARY KEY (old)
)
WITH (
OIDS=FALSE
);
ALTER TABLE "Виплата"
OWNER TO postgres;
Обязательно нужно изменить тип колонки "Код" на serial!
Обычным ALTER: ALTER TABLE "Виплата" ALTER COLUMN "Код" type serial; не получается
это сделать, потому что serial не тип ERROR: type "serial" does not exist ! Но сделать
это очень нужно.
Каким способом можно это реализовать ?
Ответы
Ответ 1
Тип SERIAL аналогичен полю, значение которого устанавливается из последовательности. Поэтому делаем так: CREATE SEQUENCE code_seq; ALTER TABLE "Виплата" ALTER COLUMN "Код" SET DEFAULT nextval('code_seq'); Не знаю как на мове правильно будет "Последовательность_коду", поэтому просто code_seq. В nextval() передаётся строка с название последовательности, поэтому там одинарные кавычки должны быть.
Комментариев нет:
Отправить комментарий