sql server触发器 :当一个表发生插入或更新时,将数据同步到另一张表中

时间:2024-03-05 10:42:41
  ALTER  trigger Monitor_Dic_date_Up
  on [dbo].[DIC_DATA]--触发器对象表
  for update ,insert--插入或更新时触发.
  as --
  begin
  if EXISTS(select 1 from DIC_DATAupdate  A ,inserted B where A.GUID=B.GUID)--检查插入或更新的数据在DIC_DATAupdate表中是否存在,有则更新,无则添加
  update DIC_DATAupdate  set [DICNAME]=B.[DICNAME], [SUBCODE]=B.[SUBCODE], [CNNAME]=B.[CNNAME],
  [CNNAMEOTHER]=B.[CNNAMEOTHER] ,[DICCNNAME]=B.[DICCNNAME],LastTime=GETDATE()  from inserted B
  where  DIC_DATAupdate.[GUID]=B.[GUID] --为记录数据插入或更新时间,增加时间(lasttime)字段.
  else
  insert into DIC_DATAupdate select [DICNAME],[SUBCODE],[CNNAME],[CNNAMEOTHER],[DICCNNAME],[GUID],GETDATE() as LastTime from inserted
  end