Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL सर्वर में ON DELETE CASCADE के साथ विदेशी कुंजी बाधा कैसे बनाएं - SQL सर्वर / TSQL ट्यूटोरियल भाग 80

परिदृश्य:

आप SQL सर्वर डेवलपर के रूप में काम कर रहे हैं, आपको प्राथमिक-विदेशी कुंजी संबंध के साथ दो टेबल बनाने की आवश्यकता है। आप संदर्भ तालिका (प्राथमिक कुंजी कॉलम तालिका) से रिकॉर्ड हटा दिए जाने पर सेटिंग के साथ विदेशी कुंजी बाधा बनाना चाहते हैं, इसे मूल तालिका (विदेशी कुंजी बाधा तालिका) से भी हटा दिया जाना चाहिए।

समाधान:

SQL सर्वर हमें विदेशी कुंजी बाधा के साथ सेटिंग का उपयोग करने देता है जिसे ऑन डिलीट कैस्केड कहा जाता है। यदि यह नियम लागू किया जाता है, तो जब भी संदर्भित तालिका (प्राथमिक कुंजी कॉलम तालिका) से रिकॉर्ड हटा दिया जाता है, तो इसे मूल तालिका (विदेशी कुंजी बाधा तालिका) से भी हटा दिया जाएगा।
आइए नीचे दी गई स्क्रिप्ट के साथ इस परिदृश्य का परीक्षण करें।
USE YourDatabaseName
GO

CREATE TABLE dbo.Customer (
    Customerid INT PRIMARY KEY
    ,FName VARCHAR(100)
    ,LName VARCHAR(100)
    ,SSN VARCHAR(10)
    )


    CREATE TABLE dbo.Orders (
    OrderId INT Identity(1, 1)
    ,OrderitemName VARCHAR(50)
    ,OrderItemAmt INT
    ,Customer_id INT FOREIGN KEY REFERENCES
     Customer(CustomerId) ON DELETE CASCADE
    )

    --insert sample data
     insert into dbo.Customer 
    (CustomerId,FName, LName,SSN)
     values
    (1,'Aamir','Shahzad','000-000-00')
 
 
 चुनिंदा क्वेरी का उपयोग करके तालिकाओं में डेटा की जांच करें।
एसक्यूएल सर्वर में फॉरेन की कंस्ट्रक्शन के साथ ऑन डिलीट कैस्केड रूल को कैसे इनेबल करें

आइए संदर्भित तालिका (प्राथमिक कुंजी स्तंभ तालिका) से पंक्ति को हटा दें और देखें कि क्या यह मूल तालिका (विदेशी कुंजी बाधा तालिका) से भी हटाई जाती है

    --Delete the Record from Referenced Table(PK Column Table)
    Delete from dbo.Customer
    where CustomerId=1


यह देखने के लिए तालिकाओं को फिर से जांचें कि क्या विदेशी कुंजी प्रतिबंध पर कैस्केड हटाएं नियम के कारण दोनों तालिकाओं से रिकॉर्ड हटा दिया गया है।
एसक्यूएल सर्वर टेबल में कई टेबल्स से रिकॉर्ड्स को डिलीट करने के लिए ऑन डिलीट कैस्केड का उपयोग कैसे करें

जैसा कि हम देख सकते हैं कि विदेशी कुंजी प्रतिबंध के ON DELETE CASCADE नियम के कारण दोनों तालिकाओं से रिकॉर्ड हटा दिए गए हैं।

वीडियो डेमो:SQL सर्वर में ON DELETE CASCADE के साथ विदेशी कुंजी बाधा कैसे बनाएं

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर लिंक्ड सर्वर उदाहरण क्वेरी

  2. टी-एसक्यूएल (एसक्यूएल सर्वर) में डुप्लिकेट कुंजी त्रुटि को कैसे अनदेखा करें

  3. SQL सर्वर में एक पूर्णांक को दशमलव में कैसे बदलें

  4. कैसे जांचें कि SQL सर्वर में एक कंप्यूटेड कॉलम "जारी" है या नहीं?

  5. SQL सर्वर में कंप्यूटेड कॉलम की सूची लौटाएं