परिदृश्य:
पिछली पोस्टों में, हम सीखते हैं कि यदि हमारे पास डिफ़ॉल्ट सेटिंग के साथ विदेशी कुंजी बाधा है और हम संदर्भ तालिका में कॉलम में मान को अद्यतन करने का प्रयास करते हैं जो कि विदेशी कुंजी बाधा में संदर्भ कॉलम के रूप में उपयोग किया जाता है, तो हमें त्रुटि मिलती है। हमने स्थिति को संभालने के कई तरीकों पर चर्चा की, कृपया इस लिंक को देखें।विदेशी कुंजी बाधा कैस्केडिंग कार्रवाई सेट करने का विकल्प प्रदान करती है, हम कैस्केडिंग अपडेट के साथ विदेशी कुंजी बाधा बना सकते हैं।
यदि अपडेट कैस्केडिंग सेटिंग्स का उपयोग किया जाता है, जब हम संदर्भित तालिका में मान को अपडेट करते हैं, तो यह मूल तालिका (विदेशी कुंजी तालिका) कॉलम में मान को भी अपडेट करेगा।
आइए इस परिदृश्य का परीक्षण करें। दो टेबल बनाएं dbo.Customer और dbo. दी गई स्क्रिप्ट द्वारा विदेशी कुंजी संबंध के साथ ऑर्डर
YourDatabaseName का उपयोग करेंGOCREATE TABLE dbo.Customer (Customerid INT PRIMARY KEY,FName VARCHAR(100),LName VARCHAR(100) ), एसएसएन वर्चर (10)) टेबल डीबीओ बनाएं। ऑर्डर (ऑर्डर आईडी आईएनटी पहचान (1, 1), ऑर्डरिटेमनाम वचरर (50), ऑर्डरआइटम एएमटी आईएनटी, ग्राहक_आईडी आईएनटी विदेशी कुंजी संदर्भ ग्राहक (ग्राहक आईडी) अद्यतन कैस्केड पर) dbo.Customer में डालें। ',1,1)आइए चुनिंदा क्वेरी
का उपयोग करके तालिकाओं में डेटा की जांच करें। |
SQL सर्वर में अपडेट कैस्केड के साथ विदेशी कुंजी बाधा कैसे बनाएं |
चलो dbo में CustomerId पर अपना अपडेट स्टेटमेंट चलाते हैं। 100 आइए अपनी तालिका में डेटा को फिर से जांचें
एसक्यूएल सर्वर में विदेशी कुंजी बाधा के साथ अपडेट कैस्केडिंग को कैसे सक्षम करें |
जैसा कि हम देख सकते हैं कि मान dbo.Orders.Customer_id कॉलम में भी अपडेट होता है।
वीडियो डेमो:कैसे SQL सर्वर में अद्यतन कैस्केड के साथ विदेशी कुंजी बाधा बनाने के लिए