Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Déclencheur qui met à jour uniquement la ligne insérée

S'il est nécessaire d'utiliser un déclencheur ici, j'utiliserais un INSTEAD OF déclencheur pour ajuster les valeurs avant l'insertion et éviter d'avoir à JOIN revenir sur la table de base et les mettre à jour par la suite.

CREATE TRIGGER trig_MyPplUpdate
ON [Persons]
INSTEAD OF INSERT
AS
  BEGIN
      INSERT INTO Persons
      SELECT foo,
             bar,
             CASE
               WHEN Len(MyFile) >= 60 THEN MyFile
             END
      FROM   Inserted
  END