В SQL Server 2008 R2 у меня есть таблица со следующей структурой
(
Id INT NOT NULL PRIMARY KEY,
Left1 INT NOT NULL,
Left2 INT NULL,
Right1 NVARCHAR(128) NOT NULL,
Right2 NVARCHAR(128) NOT NULL,
Right3 NVARCHAR(128) NULL,
Right4 NVARCHAR(128) NULL,
Right5 NVARCHAR(128) NULL,
Right6 NVARCHAR(128) NULL
)
Используется для отображения Left1 и Left2, идущих из системы («Левая») в Right1-6, переходящих в другую систему («Правая»).
Мне нужно убедиться, что левые столбцы уникальны, что я сделал с уникальным индексом, а комбинации Левый-Правый также уникальны.
Я не могу использовать индекс здесь, потому что максимальный поддерживаемый размер столбца составляет 900 байтов. Мне нужно избегать разбиения таблицы на Left, Right и Left2Right - это слишком утомительно и подвержено ошибкам в моих случаях использования.
Как правильно применять уникальность комбинации?
Мои требования:
- Во всей таблице НЕ ДОЛЖНЫ быть строки с одинаковыми значениями для Left1 и Left2 (решено)
- Во всей таблице НЕ ДОЛЖНЫ быть строки с одинаковыми значениями для Left1, Left2, Right1, Right2, Right3, Right4, Right5, Right6 (здесь мне нужна помощь)