日期:2014-05-18  浏览次数:20550 次

sql触发器INSERT中如何过滤重复记录,望大虾赐教!
基表t306                                                     党员表t55
id       f3(姓名)     f38(政治职务)               id         f1(姓名)
225     张                 党员                    
266     刘                 群众
248     王                 党员
(实现功能将t306表中职务为党员的插入t55)
触发器
CREATE   TRIGGER   gz   ON   [dbo].[T306]  
FOR   INSERT
AS
insert   t55(ID,f1)   (select   id   ,f3   from   t306   where   F38=3)
新增一条新数据执行后返回
                    党员表t55
                    id       f3(姓名)     f38(政治职务)
                    225     张                 党员  
                    248     王                 党员
                    299     赵                 党员
再次新增返回为
                    党员表t55
                    id       f3(姓名)     f38(政治职务)
                    225     张                 党员  
                    248     王                 党员
                    299     赵                 党员
                    225     张                 党员  
                    248     王                 党员
                    299     赵                 党员
                    344     李                 党员
出现重复,小弟为初学,真心请教大虾解决办法,




------解决方案--------------------
CREATE TRIGGER gz ON [dbo].[T306]
FOR INSERT
AS
insert t55(ID,f1) select id ,f3 from inserted where F38= '党员 '
GO
------解决方案--------------------
create table t306(id int,f3 varchar(10),f38 varchar(10))
create table t55(id int,f1 varchar(10))
GO

CREATE TRIGGER gz ON [dbo].[T306]
FOR INSERT
AS
insert t55(ID,f1)
select id ,f3 from inserted where F38= '党员 '
GO

insert into