Здравствуйте, merge, Вы писали:
M>В базе mssql есть таблица
M>contracts
M> country
M> period start
M> period end
M>как можно создать уникальный индекс на страну и чтобы не было пересечения дат для одной страны?
M>триггер знаю, но вот хотелось бы индексом
USE AdventureWorks2017;
GO
DROP INDEX IF EXISTS FIBillOfMaterialsWithEndDate
ON Production.BillOfMaterials
GO
CREATE NONCLUSTERED INDEX FIBillOfMaterialsWithEndDate
ON Production.BillOfMaterials (ComponentID, StartDate)
WHERE EndDate IS NOT NULL and EndDate > '2022-01-01';
GO