Por favor, teste o SQL Server em vez do gatilho, que verifica a primeira tabela de detalhes. Caso haja dados ausentes em Detalhes, ele insere essa tabela.
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
Para mais exemplos em SQL Servidor em vez de gatilho consulte o exemplo dado.
Mas observe minhas palavras, acho que será um design alternativo para manter as habilidades em uma tabela mestra diferente. E antes de inserir em detalhes, em geral verificamos se o mestre existe ou não. sentido oposto. Os usuários em geral inserem os dados mestre primeiro. Nesse caso, os dados da tabela de habilidades. Em seguida, os detalhes são preenchidos.