Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SQL Server 2008 - Помощ за писане на прост тригер INSERT

Искате да се възползвате от вложените логическа таблица, която е достъпна в контекста на тригер. Съвпада със схемата за таблицата, към която се вмъква, и включва редовете, които ще бъдат вмъкнати (в тригер за актуализиране имате достъп до вмъкнато и изтрити логически таблици, които представляват съответно новите и оригиналните данни.)

Така че, за да вмъкнете двойки служител/отдел, които в момента не съществуват, можете да опитате нещо като следното.

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL сборен отчет по години, търсейки елегантно решение

  2. Мога ли да задам схема по подразбиране за в рамките на съхранена процедура?

  3. Как да изтриете първите 1000 реда от таблица с помощта на Sql Server 2008?

  4. СЛИВАНЕ В ред за вмъкване

  5. Можем ли да откажем изтриване от конкретни таблици?