Предположим, у вас есть таблица patient
, ранее созданная как
CREATE TABLE patient( patientid int, col1 int );
, и строка, вставленная как
INSERT INTO patient VALUES(1,5);
. Сначала создайте последовательность, начинающуюся с +1, повторяемую из максимального значенияID и сделайте его default
для вашего столбца
CREATE SEQUENCE mySeq START WITH 2;
ALTER TABLE patient ALTER COLUMN patientid SET DEFAULT nextval('mySeq');
и преобразуйте ваш столбец в первичный ключ
ALTER TABLE patient ALTER COLUMN patientid SET NOT NULL;
ALTER TABLE patient ADD CONSTRAINT uk_patientid UNIQUE (patientid);
всякий раз, когда вы вставляете новые строки, такие как
INSERT INTO patient(col1) VALUES(10);
INSERT INTO patient(col1) VALUES(15);
вы заметите, что вы успешно создали свой столбец как столбец идентификаторов
SELECT * FROM patient
patientid col1
--------- ----
1 5
2 10
3 15