2

私はSQL Server 2008で作業しています。同じ値を10回以上挿入してはならない列値をチェックしたい状況があります

私のテーブルは

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

私は開発者をチェックしたいのですが、同じ値は10回だけ記録する必要があり、それ以上は記録しないでください。親切に私を導いてください

4

2 に答える 2

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 に答える