2009-06-15 15 views
6

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

उत्तर

7

SQL सर्वर में स्थगित बाधा जांच करने का कोई मूल तरीका नहीं है।

संभावना है कि आपका सबसे अच्छा विकल्प पहली तालिका में विदेशी कुंजी कॉलम में एक नल मान डालना है जब तक कि दूसरा रिकॉर्ड डाला न जाए, और फिर उसी लेनदेन के हिस्से के रूप में, पहली तालिका में विदेशी कुंजी कॉलम अपडेट करें।

मुझे रूचि है - आपके परिपत्र संदर्भ के लिए व्यावसायिक कारण क्या है? यह निश्चित रूप से एक असाधारण आवश्यकता है।

इसी विषय पर this thread पर भी एक नज़र डालें।

+1

@Aaron। हमारे पास एक ही उत्पाद के synonims के बीच एक पुनरावर्ती संदर्भ है। –

+0

@ इगोर: फिर संभवतः उत्पाद-जानकारी और उत्पाद-नामों के बीच 1-से-कई संबंधों के साथ, आप एक अलग तालिका में उत्पाद-नाम को स्टोर करना चाहते हैं। स्थगित कॉन्स्टेंट चेकिंग उन मामलों में बहुत उपयोगी होगी जहां आप एक अनूठी कुंजी को स्वैप या पुन: व्यवस्थित करना चाहते हैं, हालांकि (जैसे * "ऑर्डरिंग" * कॉलम) –

संबंधित मुद्दे