Eu tenho uma tabela no SQL Server 2016, conforme mostrado abaixo. Os registros são inseridos na tabela a cada trimestre, para todos os parceiros.
Restrição necessária: deve permitir apenas um BatchID para um partnerID por um trimestre de um ano, para um Distribution_Type. No entanto, é permitido ter vários registros com o mesmo BatchID para o parceiro em um determinado trimestre do ano, para um tipo de distribuição.
Como criar tal restrição na tabela? Se puder ser feito sem gatilho, seria ótimo.
Mesa
CREATE TABLE [dbo].[Distribution]
(
[Distribtution_Result_ID] [int] IDENTITY(1,1) NOT NULL,
[PartnerID] [int] NOT NULL,
[Distribution_Year] [int] NOT NULL,
[Distribution_Quarter] [int] NOT NULL,
[Distribution_Amount] [decimal](16, 4) NULL,
[Distribution_Type] [varchar](100) NULL,
[Batch_ID] [int] NOT NULL
)