How do you enforce unique across 2 tables in SQL Server -
आवश्यकताएँ :
- हर कर्मचारी को एक अद्वितीय आईडी है (ईपीआईडी)
- एक कर्मचारी केवल निम्न में से एक हो सकता है,
- एफटी - पूर्ण समय
- पीटी - पार्ट टाइम
- कोई भी कर्मचारी कभी भी एफटी और पीटी दोनों नहीं हो सकता है
- एफटी एंड amp; पीटी में कब्जा करने के लिए कई अलग-अलग फ़ील्ड हैं
कार्यान्वयन :
तालिका EmpFT बनाएं (ईपीआईडी इंट प्राथमिक कुंजी, एफ 1, एफ 2, आदि) तालिका एम्पपीटी (ईपीआईडी) बनाएँ इंट प्राथमिक कुंजी, पी 1, पी 2, आदि) - यह दोनों ईपीएफटी और एम्पपीटीटी पर समान ईपीआईडी को रोकता नहीं है।
आप डेटाबेस में नंबर 3 कैसे लागू करते हैं?
मैं SQL Server 2012 मानक संस्करण का उपयोग कर रहा हूँ।
इस विधि को आज़माएं:
बनाओ टेबल इम्प (इपिड इन्ट प्राइमरी) कुंजी, टी सीआर (2) नल, अद्वितीय (ईपीआईडी, टी)); सारणी EmpFT (EPID INT प्राथमिक कुंजी, ... अन्य कॉलम टी CHAR (2) नल चेक (टी = 'एफटी'), विदेशी कुंजी (ईपीआईडी, टी) संदर्भ एम्प (ईपीआईडी, टी)) बनाएँ; तालिका EmpPT (EPID INT प्राथमिक कुंजी, ... अन्य कॉलम टी CHAR (2) नल चेक (टी = 'पीटी'), विदेशी कुंजी (ईपीआईडी, टी) संदर्भ एम्प (ईपीआईडी, टी)) बनाएँ;
Comments
Post a Comment