私は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回だけ記録する必要があり、それ以上は記録しないでください。親切に私を導いてください
テーブルにチェック制約を追加できます
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)