Du kan oprette et indeks på et udtryk, i dette tilfælde least()
og greatest()
:
create unique index idx_obj1_obj2 on table(least(Object1, Object2), greatest(Object1, Object2));
Bemærk:der er en lille underlighed, hvis kolonnerne tillader NULL
værdier. I så fald ville den samme værdi kun være tilladt én gang, uanset hvilken kolonne den er i. Dette kan rettes med et mere kompliceret udtryk, hvis det faktisk er et problem.