没有约束可以强制执行该规则,但是可以使用如下所示的触发器来做到这一点:
CREATE TRIGGER Images_not_more_than_five_per_addON Images FOR INSERTASDECLARE @RowCount intSET @RowCount = @@ROWCOUNTSET NOCOUNT onIF @RowCount = 1BEGIN IF (SELECt COUNT(*) FROM Images WHERe Images.addid = (SELECt addid FROM inserted)) > 5 BEGIN RAISERROR('No more than five images per add are allowed', 16, -1) ROLLBACK RETURN ENDENDELSEBEGIN IF EXISTS ( SELECt * FROM Images INNER JOIN ( SELECt DISTINCT addid FROM inserted ) I ON Images.addid = I.addid GROUP BY Images.addid HAVINg COUNT(*) > 5 ) BEGIN RAISERROR('No more than five images per add are allowed', 16, -1) ROLLBACK RETURN ENDEND


