Vänligen testa att följa SQL Server istället för trigger som kontrollerar den första detaljtabellen. Om det saknas data i Detaljer infogar den den tabellenSom det andra steget fortsätter den med infogning i färdighetstabellen
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
För fler exempel på SQL Server istället för trigger hänvisa till givet exempel.
Men vänligen notera mina ord, jag tror att det kommer att vara en alternativ design för att behålla färdigheter i en annan mastertabell. Och innan vi infogar i detaljer kontrollerar vi i allmänhet att mastern finns eller inte. Så din kontroll i allmänhet kan köras i motsatt väg.Användare i allmänhet infogar stamdata först. I det här fallet färdighetstabelldata. Därefter fylls detaljerna i.