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

SQL Server - ПРЕДИ INSERT Trigger

Моля, тествайте следния SQL Server Instead Of Trigger, който проверява първата таблица с подробности. В случай че има липсващи данни в Details, той вмъква тази таблица. Като втората стъпка продължава с вмъкване в таблицата с умения

CREATE Trigger MySkillsInsteadOfInsert on dbo.MySkills Instead Of Insert
AS
Begin

    insert into MySkills_details (
        EmpId -- and other relevant columns
    )
    select i.EmpId -- and other relevant columns
    from inserted i
    left join MySkills_details d on i.EmpId = d.EmpId
    where d.EmpId is null

    Insert Into MySkills(EmpId) -- and other relevant columns
    Select EmpId -- and other relevant columns
    From inserted i;

End

За повече примери на SQL Сървър вместо тригер моля, вижте дадения пример.

Но моля, обърнете внимание на думите ми, мисля, че това ще бъде алтернативен дизайн за запазване на уменията в различна главна таблица. И преди да вмъкнем в подробности, като цяло проверяваме дали главната съществува или не. Така че вашият контрол като цяло може да работи в обратен начин. По принцип потребителите първо въвеждат основни данни. В този случай данните от таблицата с умения. След това подробностите се попълват.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как CAST() работи в SQL Server

  2. Все пак да създадете SQL Server DDL тригер за SELECT изрази?

  3. Какъв е максималният брой знаци, които nvarchar(MAX) ще съдържа?

  4. sql сървър:изтрийте всички редове на всички таблици

  5. Изчисляване на стойност с помощта на предишна стойност на ред в T-SQL