sql >> Database >  >> RDS >> Sqlserver

SQL Server 2008 - Hulp bij het schrijven van eenvoudige INSERT-trigger

U wilt profiteren van de ingevoegde logische tabel die beschikbaar is in de context van een trigger. Het komt overeen met het schema voor de tabel waarin wordt ingevoegd en bevat de rij(en) die worden ingevoegd (in een update-trigger heeft u toegang tot de ingevoegde en verwijderd logische tabellen die respectievelijk de nieuwe en originele gegevens vertegenwoordigen.)

Dus om werknemer-/afdelingparen in te voegen die momenteel niet bestaan, kunt u iets als het volgende proberen.

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


  1. pgsql 42601 fout met PDO::execute

  2. De waarde van gegevens in de loop van de tijd

  3. Wat als ik ibdata1 verwijder in mysql (LINUX)

  4. Een left join doen met oude stijl joins