SQL Server (2008) データベースに無向グラフ テーブルがあり、重複を防ぐための制約が必要です。リンク テーブルには 2 つの列 (City1、City2) があり、どちらも Cities テーブルへの整数参照です。以下を使用できます。
ALTER TABLE dbo.CityConnections
ADD CONSTRAINT CK_CityConnections_OneWayOnly UNIQUE (City1, City2)
これは私が望むことの半分ですが、これは「逆」接続の追加を妨げません。
Google が教えてくれた
... UNIQUE (MIN(City1,City2), MAX(City1,City2))
それはまさに私が望むことをするように見えますが、構文は無効です。
CASE を使用して複雑な制約も試しましたが、この構文も正しくできませんでした。
どうすればこれを達成できますか?