2

我正在使用 sql server 2008,我有一种情况,我想检查一个列值,相同的值不应插入超过 10 次

我的桌子是

uID       devs 
---------------
 1        SLS 
 2        SRS
 3        SLS

我想检查一下开发人员,相同的值应该只记录 10 次,不能超过。请指导我

4

2 回答 2

0
while (select count(*) from dev where devs='sls')<10
insert into dev values (0,'SLS')
于 2013-07-08T14:36:43.807 回答
0

您可以在表上添加检查约束

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)
于 2013-07-08T15:48:19.470 回答