码迷,mamicode.com
首页 > 数据库 > 详细

SQLServer创建触发器,更新表

时间:2014-08-26 16:56:36      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:io   for   ar   art   cti   on   ef   c   sql   

 在SQLServer,触发器,插入、更新、删除状态:

CREATE TRIGGER t_inms_alarms

  ON [PHS].[dbo].[AlarmCurrent]

  FOR INSERT, DELETE

  AS

  DECLARE @rows int

  SELECT @rows = @@rowcount

  IF @rows = 0

  return

  --如果表是插入,则同步更新AlarmsMiddleTbl

  IF EXISTS(SELECT 1 FROM inserted) AND NOT EXISTS(SELECT 1 FROM deleted)

  BEGIN

  INSERT INTO [PHS].[dbo].[AlarmsMiddleTbl]

  SELECT i.[Id], i.[SequenceId], i.[code], i.[alarmdefineid],

  CONVERT(varchar,i.[occurTime],120), i.[confirmation], i.[ConfirmationTime],

  i.[MaintenanceName], i.[MaintenanceProcedure],

  i.[ClearTime], i.[screen],CONVERT(varchar, getdate(), 120)

  FROM inserted i

  END

  --如果表是更新某个字段,则同步更新AlarmsMiddleTbl

  IF NOT EXISTS(SELECT 1 FROM inserted) AND EXISTS(SELECT 1 FROM deleted) AND

  UPDATE(ConfirmationTime)

  BEGIN

  INSERT INTO [PHS].[dbo].[AlarmsMiddleTbl]

  SELECT d.[Id], d.[SequenceId], d.[code], d.[alarmdefineid],

  CONVERT(varchar,d.[occurTime],120), d.[confirmation], d.[ConfirmationTime],

  d.[MaintenanceName], d.[MaintenanceProcedure],

  CONVERT(varchar, getdate(),120), d.[screen],CONVERT(varchar, getdate(), 120)

  from deleted d

  END

  --如果表是删除,则同步更新AlarmsMiddleTbl

  IF NOT EXISTS(SELECT 1 FROM inserted) AND EXISTS(SELECT 1 FROM deleted)

  BEGIN

  INSERT INTO [PHS].[dbo].[AlarmsMiddleTbl]

  SELECT d.[Id], d.[SequenceId], d.[code], d.[alarmdefineid],

  CONVERT(varchar,d.[occurTime],120), d.[confirmation], d.[ConfirmationTime],

  d.[MaintenanceName], d.[MaintenanceProcedure],

  CONVERT(varchar, getdate(),120), d.[screen],CONVERT(varchar, getdate(), 120)

  from deleted d

  END

  IF @@error <> 0

  BEGIN

  RAISERROR(‘ERROR‘,16,1)

  rollback transaction

  return

  END

SQLServer创建触发器,更新表

标签:io   for   ar   art   cti   on   ef   c   sql   

原文地址:http://www.cnblogs.com/bailuobo/p/3937345.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!