gpt4 book ai didi

sql-server - 根据开始日期和结束日期创建唯一约束

转载 作者:行者123 更新时间:2023-12-05 01:12:22 27 4
gpt4 key购买 nike

我创建了一个唯一约束,如下所示,它工作正常。但我想创建一个约束,其中两个日期之间的 productNumber 应该是唯一的

  ALTER TABLE [dbo].[Product]  ADD CONSTRAINT  U_Product UNIQUE ([ProductNumber],[StartDate],[EndDate])

现在,它采用列中的确切值,但我希望它介于两个日期之间。我该怎么做?

table

最佳答案

create function dbo.IsProductUnique (@ProductNumber int, @StartDate date, @EndDate date) returns bit as
begin
if exists (
select *
from Product
where ProductNumber = @ProductNumber
and StartDate < @EndDate
and EndDate > @StartDate) return 0
else
return 1 -- Unique
end
go

alter table Product add constraint CK_Product_Unique check (dbo.IsProductUnique(ProductNumber, StartDate, EndDate) = 1)
go

关于sql-server - 根据开始日期和结束日期创建唯一约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29676216/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com