zoukankan      html  css  js  c++  java
  • SQLServer创建触发器,更新表

     在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

  • 相关阅读:
    备忘录模式
    中介者模式
    观察者模式、发布订阅和事件驱动
    ELK日志系统之kibana的使用操作
    ELK日志系统之说说logstash的各种配置
    03篇ELK日志系统——升级版集群之ELK日志系统整合springboot项目
    02篇ELK日志系统——升级版集群之kibana和logstash的搭建整合
    01篇ELK日志系统——升级版集群之elasticsearch集群的搭建
    Linux安装jdk环境
    01GitLab的使用——创建项目并上传到GitLab
  • 原文地址:https://www.cnblogs.com/bailuobo/p/3937345.html
Copyright © 2011-2022 走看看