#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() передаётся строка с название последовательности, поэтому там одинарные кавычки должны быть.
Комментариев нет:
Отправить комментарий