Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Trigger wird nur ausgelöst, wenn eine Bedingung in SQL Server erfüllt ist

Angesichts der Tatsache, dass eine WHERE-Klausel nicht funktioniert hat, wird dies vielleicht Folgendes tun:

CREATE TRIGGER 
    [dbo].[SystemParameterInsertUpdate]
ON 
    [dbo].[SystemParameter]
FOR INSERT, UPDATE 
AS
  BEGIN
    SET NOCOUNT ON

      If (SELECT Attribute FROM INSERTED) LIKE 'NoHist_%'
      Begin
          Return
      End

      INSERT INTO SystemParameterHistory 
      (
        Attribute,
        ParameterValue,
        ParameterDescription,
        ChangeDate
      )
    SELECT
      Attribute,
      ParameterValue,
      ParameterDescription,
      ChangeDate
    FROM Inserted AS I
END