Disons que nous avons une table avec cette définition:Comment déclarer une contrainte de superposition de plage dans la base de données PosgreSQL?
range (
id bigint primary key,
colourId int references colour(id),
smellId int references smell(id),
from bigint,
to bigint
)
Ce tableau est en fait une vue réduite sur la table énormément grand:
item (
id bigint primary key,
colourId int references colour(id),
smellId int references smell(id),
CONSTRAINT item_colour_smell_unique UNIQUE (colour, smell, id)
)
Je voudrais traduire item_colour_smell_unique
contrainte dans le tableau range
. Il doit surveiller les chevauchements des plages [from, to]
tout en tenant compte des valeurs des colonnes colourId
et smellId
.