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.