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

SQL Server 2008 - Aide à l'écriture d'un déclencheur INSERT simple

Vous souhaitez profiter de l'inséré table logique disponible dans le contexte d'un déclencheur. Il correspond au schéma de la table qui est en cours d'insertion et inclut la ou les lignes qui seront insérées (dans un déclencheur de mise à jour, vous avez accès au insert et supprimé tables logiques qui représentent respectivement les données nouvelles et originales.)

Donc, pour insérer des paires Employé/Service qui n'existent pas actuellement, vous pouvez essayer quelque chose comme ce qui suit.

CREATE TRIGGER trig_Update_Employee
ON [EmployeeResult]
FOR INSERT
AS
Begin
    Insert into Employee (Name, Department) 
    Select Distinct i.Name, i.Department 
    from Inserted i
    Left Join Employee e
    on i.Name = e.Name and i.Department = e.Department
    where e.Name is null
End