--创建表 CREATE TABLE a( a1 nvarchar(50) NULL, a2 int NULL ) --查询数据 select * from a --添加数据 insert into a values('1',2) --清除数据 truncate table a --触发器 alter trigger tri_insert_a on a INSTEAD OF insert as begin --在插入数据时,检查最新的100条数据里、有多少条重复记录(按a1,a2两个字段检查重复);如果重复记录超过1条,就不再插入数据。 SELECT * FROM a INSERT INTO a(a1, a2) SELECT I.a1,I.a2 FROM INSERTED I left JOIN ( SELECT TOP(100) a1, a2 FROM a WITH(NOLOCK) ) T ON i.a1 = i.a1 AND I.a2 = T.a2 GROUP BY i.a1, i.a2 HAVING COUNT(t.a1) < 1 and count(t.a2)<1 end