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

SQL सर्वर (T-SQL) में किसी मौजूदा तालिका में एक विदेशी कुंजी बाधा कैसे जोड़ें

डेटाबेस के संदर्भ में, एक विदेशी कुंजी एक स्तंभ है जो दो तालिकाओं के बीच संबंध में किसी अन्य तालिका के प्राथमिक कुंजी फ़ील्ड से जुड़ा होता है।

एक विदेशी कुंजी एक प्रकार की बाधा है, और इसलिए यदि आप SQL सर्वर में एक विदेशी कुंजी बनाना चाहते हैं, तो आपको एक विदेशी कुंजी बाधा बनाने की आवश्यकता होगी।

यह आलेख दर्शाता है कि ट्रांजैक्ट-एसक्यूएल का उपयोग करके SQL सर्वर में एक विदेशी कुंजी बाधा कैसे बनाई जाए।

उदाहरण

इसे प्रदर्शित करने का सबसे आसान तरीका एक उदाहरण है। इस उदाहरण में, हम ALTER TABLE का उपयोग करके एक विदेशी कुंजी बाधा बनाने के लिए T-SQL का उपयोग करते हैं कथन:

USE Music;
ALTER TABLE Albums
  ADD CONSTRAINT FK_Albums_Artists FOREIGN KEY (ArtistId)     
      REFERENCES dbo.Artists (ArtistId)
      ON DELETE CASCADE    
      ON UPDATE CASCADE
  ;
GO

यह दो तालिकाओं के बीच संबंध बनाता है (Albums तालिका और Artists) टेबल)। हम Albums . पर एक विदेशी कुंजी बाधा बनाकर ऐसा करते हैं टेबल। हम निर्दिष्ट करते हैं कि Albums.ArtistId कॉलम Artists.ArtistId . के लिए एक विदेशी कुंजी है स्तंभ।

यह स्पष्ट रूप से मानता है कि दो टेबल मौजूद हैं। अगर उन्होंने ऐसा नहीं किया, तो हमें एक त्रुटि मिलेगी।

हम GO . का भी उपयोग करते हैं जो वास्तव में टी-एसक्यूएल का हिस्सा नहीं है। इसे विभिन्न उपयोगिताओं द्वारा टी-एसक्यूएल स्टेटमेंट के एक बैच के अंत का संकेत देने के लिए पहचाना जाता है।

परिणाम जांचें

आप निम्न स्क्रिप्ट चलाकर परिणाम की जांच कर सकते हैं:

USE Music;
SELECT 
    name,
    type_desc,
    delete_referential_action_desc,
    update_referential_action_desc
FROM sys.foreign_keys;
GO

यह Music . में विदेशी कुंजियों को सूचीबद्ध करता है डेटाबेस। उपयुक्त के लिए डेटाबेस का नाम बदलें।

यदि आपके डेटाबेस में बहुत अधिक विदेशी कुंजियाँ हैं, तो आप इसे WHERE . के साथ हमेशा सीमित कर सकते हैं उस विशिष्ट विदेशी कुंजी का खंड जिसमें आप रुचि रखते हैं। आप वाइल्डकार्ड वर्ण (*) का भी उपयोग कर सकते हैं ) यदि आपको सभी कॉलम वापस करने की आवश्यकता है।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कैसे ठीक करें "वैकल्पिक तालिका स्विच विवरण विफल" संदेश 4982 (एसक्यूएल सर्वर)

  2. SQL पैरामीटर में स्ट्रिंग ऐरे को SQL में IN क्लॉज़ में कैसे पास करें?

  3. ORDER BY क्लॉज के साथ एक दृश्य बनाएं

  4. SQL सर्वर सम्मिलित उदाहरण

  5. दिनांक सीमा ओवरलैपिंग चेक बाधा