Я пытаюсь создать последовательность, принадлежащую нескольким таблицам, чтобы иметь уникальный идентификатор для большего количества таблиц. Единственный обходной путь, о котором я могу думать, это использование nextval(blabla_id_seq) при INSERTing, но очевидно, что он не будет работать при использовании COPY (или некоторых других ситуациях, о которых я не могу сейчас думать).
Итак, кто-нибудь знает a решение или другой обходной путь для этого? Цель вопроса в основном образовательная.
Привет, Дон
LE И могу ли я реализовать глобальный первичный ключ для двух (или более) таблиц, родительской и дочерней? В настоящее время я пытался
DROP TABLE IF EXISTS child;
DROP TABLE IF EXISTS parent;
CREATE TABLE parent (
id serial PRIMARY KEY
, categ varchar(20) NOT NULL
);
CREATE TABLE child (
else varchar (30) NOT NULL
, id integer -- i have also tried with no id in child table, on;y when using
--"id serial" does id become primary key
, CONSTRAINT PK__child PRIMARY KEY (id)
) INHERITS (parent);
COPY parent (categ)
FROM 'E:\\1\\_parent.csv'
WITH CSV;
COPY child(categ,altceva)
FROM 'E:\\1\\_child.csv'
WITH CSV;
INSERT INTO child (id,categ,altceva)
--VALUES(nextval('parent_id_seq')+3,'kid7','blabla');
VALUES(5,'kid7','blabla');
но я могу вставить дубликаты