Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

SQL Server 2008 - Ajuda para escrever um simples INSERT Trigger


Você deseja aproveitar o inserido tabela lógica que está disponível no contexto de um gatilho. Ele corresponde ao esquema da tabela que está sendo inserida e inclui a(s) linha(s) que será(ão) inserida(s) (em um gatilho de atualização você tem acesso ao inserido e excluído tabelas lógicas que representam os dados novos e originais, respectivamente.)

Portanto, para inserir pares Funcionário/Departamento que não existem atualmente, você pode tentar algo como o seguinte.
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