Como faço para impor exclusividade de conjunto entre várias colunas? [duplicado]
Esta questão já tem uma resposta aqui:
restrição exclusiva do sql em uma combinação de 2 colunas 3 respostasNão tenho certeza se formulei a pergunta corretamente, então tentarei uma explicação mais longa. Eu tenho esse tipo de mesa:
CREATE TABLE x (a int, b int);
Eu quero considerar o par (a, b) como sendo idêntico a (b, a) e não permitir a inserção de duplicatas. Se o PostgreSQL tivesse umset
tipo de dados, eu poderia declarar a tabela assim:
CREATE TABLE x (
ab set,
UNIQUE (ab)
);
Mas isso não acontece, então qual é a melhor maneira de fazer isso?