一个看似简单的问题,可是1个多小时了也没调出来,请各位帮忙
现在有表tab1,里边是产品检验记录,有初检和复检的情况,也就是说同一个样品号有可能检验两次,有一个初检标记字段flag,是为了统计需要而增加的,默认的情况是 'Y ',也就是都为初检记录,但如果同一个样品号有初检记录时,新增加的同一个样品号的记录的flag就要设为 'N ',我想用触发器实现 
 简化后的表结构及数据如下: 
 CREATE   TABLE   [dbo].[tab]   ( 
 	[riqi]   [datetime]   , 
 	[yangpinhao]   [char]   (6)   , 
 	[flag]   [char]   (1)   default    'Y ', 
 [panding]   [char]   (6)   )      
 insert         into         tab    
                                              select       '2007-02-01   10:45:20 ', '001 ', 'Y ', '合格 '                
       union      all         select          '2007-02-01   10:48:20 ', '002 ', 'Y ',    '不合格 ' 
       union      all         select          '2007-02-01   10:55:20 ', '002 ', 'N ',    '合格 ' 
       union      all         select          '2007-02-01   11:25:20 ', '003 ', 'Y ',    '不合格 '   
 现在我想对增加一个编号是‘003’的记录,因为原来表中已经有一个编号是‘003’的记录了,因此想在增加后将该条记录的flag自动修改为 'N ',因为原来表中有一个编号是‘003’的记录了,请问用触发器怎么实现?谢谢!!
------解决方案--------------------CREATE TRIGGER TRIGGER_tab ON tab   
 FOR INSERT  
 AS  
 if exists(select * from inserted i,tab where i.yangpinhao=tab.yangpinhao) 
 update tab set flag= 'N ' from inserted i,tab where  i.yangpinhao=tab.yangpinhao and i.riqi=tab.riqi
------解决方案----------------------建立測試環境 
 CREATE TABLE [dbo].[tab] ( 
 	[riqi] [datetime] , 
 	[yangpinhao] [char] (6) , 
 	[flag] [char] (1) default  'Y ', 
 [panding] [char] (6) )  
 GO 
 --建立觸發器 
 Create Trigger TR_Tab 
 On Tab 
 Instead Of Insert 
 As 
 	Insert tab  
 	Select  
 		riqi, yangpinhao, 
 		flag = (Case When Exists(Select yangpinhao From Tab Where yangpinhao = A.yangpinhao) Then  'N ' Else Flag End), 
 		panding 
 	From Inserted A 
 GO 
 --插入數據 
 insert   into   tab select   '2007-02-01 10:45:20 ', '001 ', 'Y ', '合格 '      
   union  all   select    '2007-02-01 10:48:20 ', '002 ', 'Y ',  '不合格 ' 
   union  all   select    '2007-02-01 10:55:20 ', '002 ', 'N ',  '合格 ' 
   union  all   select    '2007-02-01 11:25:20 ', '003 ', 'Y ',  '不合格 ' 
 GO 
 --測試 
 insert   into   tab 
 select    '2007-02-01 11:35:20 ', '003 ', 'Y ',  '不合格 '   
 Select * From tab 
 GO 
 --刪除測試環境 
 Drop Table Tab 
 --結果 
 /* 
 riqi			yangpinhao	flag	panding 
 2007-02-01 10:45:20.000	001	   	Y	合格   
 2007-02-01 10:48:20.000	002   		Y	不合格 
 2007-02-01 10:55:20.000	002   		N	合格   
 2007-02-01 11:25:20.000	003   		Y	不合格 
 2007-02-01 11:35:20.000	003   		N	不合格 
 */