2012-12-14 29 views
18

मेरे पास एक मूल तालिका है, जिसमें इसका संदर्भ देने वाली एक डोनेड बाल सारणी है। बदले में उन बाल तालिकाओं में अन्य बाल तालिकाओं का संदर्भ है। और इसी तरह।ऑस्केकल को कैस्केड को रोकने/पुनर्निर्मित बाधाओं के बिना हटाए जाने के लिए कैसे मजबूर करें

मुझे मुख्य अभिभावक तालिका से एक पंक्ति को सभी तरह से कैस्केड करने की आवश्यकता है।

गिराने/उन सभी के लिए "CASCADE पर DELETE" जगह की कमी पुनः मैन्युअल एक बुरा सपना है एक विकल्प

उन सभी के माध्यम से जा रहे हैं और बच्चे पंक्तियों को हटाने नहीं है।

कोई अन्य विकल्प?

+0

आपके लिए एक वैध विकल्प ट्रिगर कर रहे हैं? – danihp

+0

@danihp, नहीं वे नहीं हैं।मैं स्कीमा –

+0

को संशोधित नहीं कर सकता हूं आपको कितनी पंक्तियां हटाना है, और क्या यह एक नियमित कार्य होगा? –

उत्तर

24

यह या तो बाधाओं या अलग-अलग हटावट का समूह है।

आप एक 'स्मार्ट डिलीट' प्रक्रिया लिख ​​सकते हैं जो टेबल संरचना की जांच करता है और उस पर डिलीट बेस की एक श्रृंखला उत्पन्न करता है, लेकिन यह अलग-अलग डिलीट लिखने की तुलना में अधिक काम और अधिक दुःस्वप्न की संभावना होगी। और आप में हैं जो इस कार्य को काम करने के लिए रखते हैं, जो वास्तव में हमेशा वांछित नहीं होता है।

DELETE कथन में इसे कैस्केडिंग करने के लिए कोई पैरामीटर नहीं है।

+3

हां, कोई जादू नहीं है। – ntalbs

0

मैंने ऑरैकल में इस तरह की समस्या हल की है जिसे मैंने एक शाखा से डेटा को दूसरे एक-लक्ष्य में मर्ज करने के उद्देश्य से किया है, और फिर स्रोत को हटा दें। (# आर = 222) ग्राहक Pedrus रूट (आंतरिक कुंजी प्रतिनिधित्व # आर = 111) Petrus रूट के रूप में ही है:

https://sites.google.com/site/keytreechanger/Home https://sites.google.com/site/keytreechanger/Home/screenshots

इस त्रुटि को देखते हुए, उदाहरण के लिए के हवाले । 222 से 111 के तहत डेटा ले जाएं, और फिर 222 शाखा हटाएं।
केटीसी डेटाबेस के सभी प्रासंगिक तालिकाओं से एक स्मार्ट तरीके से इस मामले के सापेक्ष सभी डेटा एकत्र करता है (और अगले कुछ मामलों को हल किया जाना चाहिए)।
एल्गोरिदम केवल खोज करता है जहां सभी आवश्यक कुंजी घटकों की आवश्यकता होती है।
ऑडिट उद्देश्यों के लिए सभी डेटा का बैकअप स्थानीय रूप से बनाए रखा जाता है। स्थानीय भंडार तालिका/क्षेत्र परिभाषाओं में परिवर्तन को समायोजित करने के लिए पारदर्शी रूप से विकसित होता है।

पावर उपयोगकर्ता दृष्टि से तालिका/संबंध पेड़ का निरीक्षण करता है, और किसी भी तालिका में डेटा को देख/प्रिंट/संपादित कर सकता है और वैकल्पिक रूप से अनुमानित कार्रवाई (कट, या कट और पेस्ट या किया गया) को संशोधित कर सकता है।
अंत में केटीसी
रूटटेबल से हटाए जाने वाले उपयुक्त विकल्प में सूचीबद्ध इस विशेष मामले को हल करने के लिए सुधारात्मक कोड के सैकड़ों लाइनों के आवेषण, अद्यतन और हटा देता है, जहां # आर = 222 है।
फिर, मैं ऑनलाइन उपयोगकर्ताओं के साथ कोड लागू करता हूं।

आपकी स्थिति में एक फ़िल्टर को सभी लाइनों को हटा देना होगा, लेकिन हटाएं।

AFAIK बाजार में कोई समकक्ष आवेदन नहीं है।

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

  • कोई संबंधित समस्या नहीं^_^