Otestujte prosím následující SQL Server namísto Trigger, který kontroluje první tabulku podrobností. V případě, že v Podrobnosti chybí data, vloží tuto tabulku. Jako druhý krok pokračuje vkládáním do tabulky dovedností
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
Další ukázky na SQL Server namísto spouštěče viz uvedený příklad.
Ale vezměte prosím na vědomí má slova, myslím si, že to bude alternativní návrh, který ponechá dovednosti v jiné hlavní tabulce. A před vložením do podrobností obecně zkontrolujeme, zda hlavní tabulka existuje nebo ne. Takže vaše ovládání obecně může běžet v opačně. Uživatelé obecně vkládají kmenová data jako první. V tomto případě data tabulky dovedností. Poté se vyplní podrobnosti.