我在 SQL Server 2016 中有一个表,如下所示。每个季度都会将所有合作伙伴的记录插入到表中。
需要约束:对于 Distribution_Type,应仅允许一个 BatchID 用于一年季度的 partnerID。但是,对于分配类型,对于给定的年度季度,合作伙伴允许有多个具有相同 BatchID 的记录。
如何在表中创建这样的约束?如果它可以在没有触发器的情况下完成,那就太好了。
桌子
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
)