我正在使用 sql server 2008,我有一种情况,我想检查一个列值,相同的值不应插入超过 10 次
我的桌子是
uID devs
---------------
1 SLS
2 SRS
3 SLS
我想检查一下开发人员,相同的值应该只记录 10 次,不能超过。请指导我
我正在使用 sql server 2008,我有一种情况,我想检查一个列值,相同的值不应插入超过 10 次
我的桌子是
uID devs
---------------
1 SLS
2 SRS
3 SLS
我想检查一下开发人员,相同的值应该只记录 10 次,不能超过。请指导我
while (select count(*) from dev where devs='sls')<10
insert into dev values (0,'SLS')
您可以在表上添加检查约束
CREATE FUNCTION CountByDevs()
RETURNS INT
AS
BEGIN
DECLARE @Count INT
SELECT @Count = COUNT(*) FROM MyTable group by devs having COUNT(1)>10
RETURN @Count
END
ALTER TABLE MyTable add CONSTRAINT Chk_MaxDevsAllowed
CHECK (dbo.CountByDevs() <= 10)