gpt4 book ai didi

mysql - 向具有状态的多个列添加约束

转载 作者:行者123 更新时间:2023-11-29 22:07:23 25 4
gpt4 key购买 nike

我有一个名为 events_attendees 的表,其中包含以下列,然后是一些 ea_no、c_no、e_no、ea_status。

我想添加一个约束,以验证 ea_status = 1 的 c_no、e_no 列的唯一行。

我们的系统使用状态字段进行删除,因此对于相同的 c_no、e_no 可能有多个 ea_status = 0 记录,但只要没有匹配的 e_no、c_no、ea_status = 1,约束就应该允许插入.

非常感谢您的帮助!

最佳答案

将表名和列名替换为代码

CREATE TABLE CheckTbl (col1 int, col2 int, col3 int, col4 int);
GO
CREATE FUNCTION CheckFnctn( @col2 int, @col3 int)
RETURNS int
AS
BEGIN
DECLARE @retval int
SELECT @retval = COUNT(*) FROM CheckTbl
where col2=@col2 and col3=@col3 and col4=1
RETURN @retval
END;
GO
ALTER TABLE CheckTbl
ADD CONSTRAINT chkRowCount CHECK (dbo.CheckFnctn(col2,col3) = 1 );
GO

关于mysql - 向具有状态的多个列添加约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32022217/

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