कृपया ट्रिगर के बजाय निम्नलिखित SQL सर्वर का परीक्षण करें जो पहले विवरण तालिका की जाँच करता है। यदि विवरण में डेटा गुम है, तो यह उस तालिका को सम्मिलित करता है दूसरे चरण के रूप में, यह कौशल तालिका में सम्मिलित करना जारी रखता है
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
SQL पर अधिक नमूनों के लिए ट्रिगर के बजाय सर्वर कृपया दिए गए उदाहरण का संदर्भ लें।
लेकिन कृपया मेरे शब्दों पर ध्यान दें, मुझे लगता है कि यह एक अलग मास्टर टेबल में कौशल रखने के लिए एक वैकल्पिक डिजाइन होगा। और विवरण में डालने से पहले, सामान्य तौर पर हम जांचते हैं कि मास्टर मौजूद है या नहीं। तो आपका नियंत्रण सामान्य रूप से चल रहा हो सकता है विपरीत तरीके से। सामान्य तौर पर उपयोगकर्ता पहले मास्टर डेटा डालते हैं। इस मामले में कौशल तालिका डेटा। फिर विवरण भरे जाते हैं।