Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

SQL Server — PRZED WSTAWIENIEM wyzwalacza

Przetestuj następujący SQL Server zamiast wyzwalacza, który sprawdza pierwszą tabelę szczegółów. W przypadku braku danych w Szczegóły wstawia tę tabelęW drugim kroku kontynuuje wstawianie do tabeli umiejętności

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

Więcej przykładów na SQL Serwer zamiast wyzwalacza proszę odnieść się do podanego przykładu.

Ale proszę zwrócić uwagę na moje słowa, myślę, że będzie to alternatywny projekt, aby utrzymać umiejętności w innej tabeli głównej. A przed wprowadzeniem do szczegółów generalnie sprawdzamy, czy mistrz istnieje, czy nie. odwrotnie. Użytkownicy na ogół najpierw wstawiają dane podstawowe. W tym przypadku dane tabeli umiejętności. Następnie szczegóły są wypełniane.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zapobiec automatycznemu zamykaniu programu SQL Server LocalDB?

  2. Alternatywa dla operatora MAX na polach bitowych

  3. Jak śledzić liczbę zmian zachodzących w kolumnie? T-SQL - Serwer SQL

  4. Uruchamianie programu SQL Server 2014 na maszynie wirtualnej platformy Azure

  5. SELECT $ (znak dolara)