No way to use TSQL Output with normal foreign key constraints? -
निम्नलिखित स्निपेट त्रुटि के साथ विफल:
लक्ष्य तालिका 'dbo.forn' की (प्राथमिक कुंजी, विदेशी कुंजी) रिश्ते के दोनों तरफ नहीं हो सकता है। मिले संदर्भ बाधा 'FK_forn_prim'। "
मैं केवल विदेशी कुंजी की कमी को अक्षम करने? यह कैसे किया जा सकता है द्वारा उत्पादन का उपयोग कर सकते हैं?
object_id ( 'अगर dbo.forn ') शून्य नहीं है तालिका dbo.forn ड्रॉप बाधा FK_forn_prim ड्रॉप तालिका dbo.forn बदल शुरू, अंत यदि object_id (' dbo.prim ') नहीं NULL ड्रॉप तालिका dbo.prim है; टेबल dbo.prim बनाएं जाना (C1 पूर्णांक प्राथमिक कुंजी); टेबल dbo.forn (C1 पूर्णांक बाधा FK_forn_prim विदेशी कुंजी (C1) संदर्भ बनाने dbo.prim (C1)); जांच inserted.c1 dbo.prim उत्पादन में सम्मिलित जाना dbo.forn 1 का चयन करें;
के अनुसार इसकी कोई गारंटी नहीं है कि जिस क्रम में परिवर्तन तालिका में लागू होते हैं और क्रम में आउटपुट तालिका या तालिका चर में पंक्तियां डाली जाती हैं।
इस पर आधारित कई प्रतिबंध हैं, जिनमें से जो आप उपरोक्त में चला गया, लेकिन अगर आप सब चाहते हैं कि एक दूसरी तालिका में डाला गया मूल्य रिकॉर्ड किया जाए, मुझे नहीं पता कि आपको ऊपर दिए गए विदेशी कुंजी संबंधों की आवश्यकता क्यों है।
यदि आपको विदेशी कुंजी संबंध की आवश्यकता है तो आप एक ही बात पूरी कर सकते हैं इस तरह की एक ट्रिगर का उपयोग
object_id ( 'dbo.forn') शून्य नहीं है, तो बदल तालिका dbo.forn ड्रॉप बाधा FK_forn_prim ड्रॉप तालिका dbo.forn शुरू करते हैं।; अंत IF OBJECT_ID ('dbo.prim') नल ड्रॉप तालिका Dbo.prim नहीं है; जाओ टैबलेट dbo.prim (c1 int प्राथमिक कुंजी) बनाएँ; टैबलेट dbo.forn बनाएँ (सी 1 इंटेल कंट्रोल FK_forn_prim विदेशी कुंजी (सी 1) संदर्भ dbo.prim (c1)); ट्रिगर बनाने के लिए जाओ dbo.Prim पर सम्मिलित करें; Dbo.forn में सम्मिलित करें * डालें; अंत में जाओ dbo.prim चयन 1 में;
Comments
Post a Comment