Si prega di testare seguendo SQL Server invece di Trigger che controlla la prima tabella dei dettagli. Nel caso in cui ci siano dati mancanti in Dettagli, inserisce quella tabella Come secondo passaggio, continua con l'inserimento nella tabella delle abilità
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
Per ulteriori esempi su SQL Server invece di trigger si prega di fare riferimento all'esempio fornito.
Ma per favore nota le mie parole, penso che sarà un design alternativo per mantenere le abilità in una tabella master diversa. E prima di inserire i dettagli, in generale controlliamo che il master esista o meno. Quindi il tuo controllo in generale potrebbe essere in esecuzione nel modo opposto. Gli utenti in genere inseriscono prima i dati anagrafici. In questo caso i dati della tabella Skills. Quindi vengono popolati i dettagli.