我正在使用sql server 2008,我的情况是我要检查列值,不应该插入相同的值超过10次
我的桌子是
uID devs
---------------
1 SLS
2 SRS
3 SLS
我想对开发人员进行检查,相同的值应该只记录10次,而不是更多。请指导我
答案 0 :(得分:0)
while (select count(*) from dev where devs='sls')<10
insert into dev values (0,'SLS')
答案 1 :(得分: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)