Oracle में काम करते समय, आप पा सकते हैं कि आपके कुछ रिकॉर्ड में डुप्लीकेट हैं। आप इन डुप्लिकेट पंक्तियों को पहचान कर और इसके RowID, या पंक्ति पते का उपयोग करके हटा सकते हैं। शुरू करने से पहले, आपको एक बैकअप तालिका बनानी चाहिए, यदि आपके द्वारा रिकॉर्ड हटाए जाने के बाद आपको उन्हें संदर्भित करने की आवश्यकता हो।
कदम
विधि 1 में से 4: अपने डुप्लिकेट की पहचान करना
चरण 1. डुप्लिकेट की पहचान करें।
इस मामले में, डुप्लीकेट, "एलन" के उदाहरण की पहचान करें। सुनिश्चित करें कि आप जिन रिकॉर्ड्स को हटाने का प्रयास कर रहे हैं, वे वास्तव में नीचे SQL दर्ज करके डुप्लिकेट हैं।
चरण 2. "नाम" नामक कॉलम से पहचान करना।
"नाम" नामक कॉलम के उदाहरण में, आप "कॉलम_नाम" को नामों से बदल देंगे।
चरण 3. अन्य स्तंभों से पहचान करना।
यदि आप किसी भिन्न कॉलम से डुप्लिकेट की पहचान करने का प्रयास कर रहे थे, उदाहरण के लिए एलन की उम्र उसके नाम के बजाय, तो आप "कॉलम_नाम" के स्थान पर "आयु" दर्ज करेंगे और इसी तरह।
कॉलम_नाम का चयन करें, कॉलम_नाम द्वारा तालिका समूह से गिनती (कॉलम_नाम) गिनती (कॉलम_नाम)> 1;
विधि 2 का 4: एकल डुप्लिकेट हटाना
चरण 1. "नामों में से नाम चुनें।
"एसक्यूएल" के बाद, जो मानक क्वेरी भाषा के लिए खड़ा है, "नामों से नाम चुनें" दर्ज करें।
चरण 2. डुप्लिकेट नाम वाली सभी पंक्तियों को हटा दें।
"एसक्यूएल" के बाद, "उन नामों से हटाएं जहां नाम = 'एलन';" दर्ज करें। ध्यान दें कि यहां कैपिटलाइज़ेशन महत्वपूर्ण है, इसलिए यह "एलन" नाम की सभी पंक्तियों को हटा देगा। "एसक्यूएल" के बाद, "प्रतिबद्ध" दर्ज करें।
चरण 3. बिना डुप्लीकेट के पंक्ति को किराए पर दें।
अब जब आपने "एलन" नाम के उदाहरण वाली सभी पंक्तियों को हटा दिया है, तो आप "इन्सर्ट इन नेम वैल्यूज़ ('एलन');" दर्ज करके एक बैक इन्सर्ट कर सकते हैं। "एसक्यूएल" के बाद, अपनी नई पंक्ति बनाने के लिए "प्रतिबद्ध" दर्ज करें।
चरण 4. अपनी नई सूची देखें।
एक बार जब आप उपरोक्त चरणों को पूरा कर लेते हैं, तो आप यह सुनिश्चित करने के लिए जांच कर सकते हैं कि अब आपके पास "नामों से चुनें *" दर्ज करके डुप्लिकेट रिकॉर्ड नहीं हैं।
एसक्यूएल > नामों से नाम चुनें; नाम ----------------------------- एलन कैरी टॉम एलन पंक्तियों का चयन किया। एसक्यूएल > उन नामों से हटाएं जहां नाम = 'एलन'; पंक्तियाँ हटा दी गईं। एसक्यूएल> प्रतिबद्ध; प्रतिबद्ध पूर्ण। SQL> नाम मानों में डालें ('एलन'); पंक्ति बनाई। एसक्यूएल> प्रतिबद्ध; प्रतिबद्ध पूरा। एसक्यूएल> नामों से * चुनें; नाम ----------------------------- एलन कैरी टॉम पंक्तियों का चयन किया गया।
विधि 3: 4 में से एक से अधिक डुप्लिकेट को हटाना
चरण 1. उस पंक्ति का चयन करें जिसे आप हटाना चाहते हैं।
"एसक्यूएल" के बाद, "पंक्तिबद्ध का चयन करें, नामों से नाम दर्ज करें;।"
चरण 2. डुप्लिकेट हटाएं।
"एसक्यूएल" के बाद, "उन नामों से हटाएं जहां पंक्तिबद्ध> (नाम बी से न्यूनतम (पंक्तिबद्ध) चुनें जहां b.name=a.name);" डुप्लिकेट रिकॉर्ड हटाने के लिए।
चरण 3. डुप्लिकेट के लिए जाँच करें।
आपके द्वारा उपरोक्त को पूरा करने के बाद, कमांड यह देखने के लिए जांचते हैं कि क्या आपके पास अभी भी डुप्लिकेट रिकॉर्ड हैं या नहीं "चयन पंक्तिबद्ध, नामों से नाम;" और फिर "प्रतिबद्ध"।
SQL> पंक्तिबद्ध का चयन करें, नामों से नाम; रोविद का नाम --------------------------------------------------- AABJnsAAGAAAdfOAAA एलन AABJnsAAGAAAdfOAAB एलन AABJnsAAGAAAdfOAAC कैरी AABJnsAAGAAAdfOAAD टॉम AABJnsAAGAAAdfOAAF एलन पंक्तियाँ चयनित। एसक्यूएल> नामों से हटाएं जहां पंक्तिबद्ध> (नाम बी से न्यूनतम (पंक्तिबद्ध) चुनें जहां b.name=a.name); पंक्तियाँ हटा दी गईं। SQL > पंक्तिबद्ध का चयन करें, नामों से नाम; रोविद का नाम --------------------------------------------------- AABJnsAAGAAAdfOAAA एलन AABJnsAAGAAAdfOAAC कैरी AABJnsAAGAAAdfOAAD टॉम पंक्तियों का चयन किया गया। एसक्यूएल> प्रतिबद्ध; प्रतिबद्ध पूरा।
विधि 4 का 4: कॉलम के साथ पंक्तियों को हटाना
चरण 1. अपनी पंक्तियों का चयन करें।
"एसक्यूएल" के बाद, "नामों से चयन करें" दर्ज करें; अपनी पंक्तियों को देखने के लिए।
चरण 2. डुप्लिकेट पंक्तियों को उनके कॉलम की पहचान करके हटाएं।
"एसक्यूएल'" के बाद "नामों से हटाएं जहां पंक्तिबद्ध> (नाम बी से न्यूनतम (पंक्तिबद्ध) चुनें जहां b.name=a.name और b.age=a.age);" डुप्लिकेट रिकॉर्ड को हटाने के लिए।
चरण 3. डुप्लिकेट के लिए जाँच करें।
एक बार जब आप उपरोक्त चरणों को पूरा कर लेते हैं, तो "नामों से चुनें *" दर्ज करें। और फिर यह जांचने के लिए "प्रतिबद्ध" करें कि आपने डुप्लिकेट रिकॉर्ड सफलतापूर्वक हटा दिए हैं।
एसक्यूएल> नामों से * चुनें; नाम आयु ----------------------------- -------- एलन ५० कैरी ५१ टॉम ५२ एलन ५० पंक्तियों का चयन किया। एसक्यूएल > नामों से हटाएं जहां पंक्तिबद्ध > (नाम बी से न्यूनतम (पंक्तिबद्ध) चुनें जहां b.name=a.name और b.age=a.age); पंक्ति हटा दी गई। एसक्यूएल> नामों से * चुनें; नाम आयु ----------------------------- -------- एलन ५० कैरी ५१ टॉम ५२ पंक्तियाँ चयनित. एसक्यूएल> प्रतिबद्ध; प्रतिबद्ध पूरा।
चेतावनी
-
अपने स्वयं के साइन-इन में एक बैकअप तालिका बनाएं जिसका उपयोग आप यह दिखाने के लिए कर सकते हैं कि कोई भी हटाने से पहले क्या था (यदि कोई प्रश्न हैं)।
SQL > तालिका बनाएं alan.names_backup के रूप में चयन करें * नामों से; तालिका बनाई गई।