create trigger triA on tablename  instead of insert
as 
begin
    if not exists ( select * from tablename a join inserted b on a.主键=b.主键)
    insert tablename select * form inserted 
end
go

解决方案 »

  1.   

    找一个不重复的键(一个或多个字段), 创建为唯一索引, 忽略重复键:
    CREATE UNIQUE INDEX IndexName ON TableName(Col01, Col02, Col03, ...) WITH  IGNORE_DUP_KEY
    在插入的时候, 无记录则插入, 有记录则插入.
      

  2.   

    请问 victorycyz(中海) ( ) ,如果该表中有大量数据,如果使用触发器的化,该方法的效率怎样.是否会造成很费时.
      

  3.   

    根据的你情况,一个是判断的字段是建了索引的,另外就是尽可能用where宿小范围,通过这2点就可以解决数据量大的问题