عند العمل في Oracle ، قد تجد أن بعض سجلاتك بها نسخ مكررة. يمكنك حذف هذه الصفوف المكررة عن طريق تحديدها واستخدام معرف الصف أو عنوان الصف. قبل أن تبدأ ، يجب عليك إنشاء جدول نسخ احتياطي في حال احتجت إلى الرجوع إليهم بعد حذف السجلات.
خطوات
الطريقة الأولى من 4: تحديد النسخة المكررة
الخطوة الأولى. تحديد النسخة المكررة
في هذه الحالة ، حدد المثال المكرر ، "Alan". تأكد من أن السجلات التي تحاول حذفها مكررة بالفعل عن طريق إدخال SQL أدناه.
الخطوة 2. التحديد من عمود يسمى "الأسماء
"في حالة العمود المسمى" الأسماء "، يمكنك استبدال" اسم_العمود "بالأسماء.
الخطوة 3. التحديد من الأعمدة الأخرى
إذا كنت تحاول تحديد التكرار بواسطة عمود مختلف ، على سبيل المثال عمر آلان بدلاً من اسمه ، يمكنك إدخال "الأعمار" في مكان "اسم_العمود" وما إلى ذلك.
حدد اسم_العمود ، العد (اسم_العمود) من مجموعة الجدول حسب اسم_العمود الذي يحتوي على عدد (اسم_عمود)> 1 ؛
الطريقة 2 من 4: حذف نسخة مفردة
الخطوة 1. حدد "الاسم من الأسماء
"بعد" SQL ، "التي تعني لغة الاستعلام القياسية ، أدخل" اختر اسمًا من الأسماء ".
الخطوة 2. احذف جميع الصفوف ذات الاسم المكرر
بعد "SQL" ، أدخل "احذف من الأسماء حيث الاسم = 'Alan' ؛." لاحظ أن الكتابة بالأحرف الكبيرة مهمة هنا ، لذلك سيؤدي هذا إلى حذف جميع الصفوف المسماة "Alan". بعد "SQL" ، أدخل "الالتزام".
الخطوة الثالثة. استأجر الصف بدون تكرار
الآن بعد أن قمت بحذف جميع الصفوف التي تحمل اسم المثال "Alan" ، يمكنك إدراج أحد الصفوف مرة أخرى عن طريق إدخال "insert in name value ('Alan') ؛." بعد "SQL" ، أدخل "الالتزام" لإنشاء صفك الجديد.
الخطوة 4. انظر إلى قائمتك الجديدة
بمجرد الانتهاء من الخطوات المذكورة أعلاه ، يمكنك التحقق للتأكد من عدم وجود سجلات مكررة عن طريق إدخال "تحديد * من الأسماء".
SQL> حدد اسمًا من الأسماء ؛ NAME ------------------------------ تم تحديد صفوف Alan Carrie Tom Alan. SQL> حذف من الأسماء حيث name = 'Alan' ؛ تم حذف الصفوف. SQL> الالتزام ؛ اكتمل الالتزام. SQL> إدراج قيم الأسماء ("Alan") ؛ تم إنشاء الصف. SQL> الالتزام ؛ اكتمل الالتزام. SQL> حدد * من الأسماء ؛ NAME ------------------------------ تم تحديد صفوف Alan Carrie Tom.
الطريقة الثالثة من 4: حذف التكرارات المتعددة
الخطوة 1. حدد RowID الذي تريد حذفه
بعد "SQL" ، أدخل "حدد rowid ، الاسم من الأسماء ؛."
الخطوة 2. حذف النسخة المكررة
بعد "SQL" ، أدخل "احذف من الأسماء حيث rowid> (حدد min (rowid) من الأسماء b حيث b.name = a.name) ؛" لحذف السجلات المكررة.
الخطوة 3. تحقق من التكرارات
بعد الانتهاء مما ورد أعلاه ، تحقق الأوامر لمعرفة ما إذا كان لا يزال لديك سجلات مكررة عن طريق إدخال "select rowid، name from names؛" ثم "الالتزام".
SQL> حدد rowid ، الاسم من الأسماء ؛ اسم ROWID ------------------ ------------------------------ AABJnsAAGAAAdfOAAA Alan AABJnsAAGAAAdfOAAB Alan AABJnsAAGAAAdfOAAC Carrie AABJnsAAGAAAdfOAAD Tom AABJnsAAGAAAdfOAAF Alan تم تحديد صفوفها. SQL> حذف من الأسماء حيث rowid> (حدد min (rowid) من الأسماء b حيث b.name = a.name) ؛ تم حذف الصفوف. SQL> حدد rowid ، الاسم من الأسماء ؛ اسم ROWID ------------------ ------------------------------ تم تحديد صفوف AABJnsAAGAAAdfOAAA Alan AABJnsAAGAAAdfOAAC Carrie AABJnsAAGAAAdfOAAD Tom. SQL> الالتزام ؛ اكتمل الالتزام.
الطريقة 4 من 4: حذف الصفوف بالأعمدة
الخطوة 1. حدد الصفوف الخاصة بك
بعد "SQL" ، أدخل "حدد * من الأسماء ؛" لرؤية صفوفك.
الخطوة 2. حذف الصفوف المكررة عن طريق تحديد العمود الخاص بهم
بعد "SQL" أدخل "احذف من الأسماء a حيث rowid> (حدد min (rowid) من الأسماء b حيث b.name = a.name و b.age = a.age) ؛" لحذف السجلات المكررة.
الخطوة 3. تحقق من التكرارات
بمجرد الانتهاء من الخطوات المذكورة أعلاه ، أدخل "حدد * من الأسماء ؛" ثم "الالتزام" للتحقق من أنك قد حذفت السجلات المكررة بنجاح.
SQL> حدد * من الأسماء ؛ الاسم العمر ------------------------------ ---------- آلان 50 كاري 51 توم 52 آلان 50 الصفوف المختارة. SQL> حذف من الأسماء حيث rowid> (حدد min (rowid) من الأسماء b حيث b.name = a.name و b.age = a.age) ؛ تم حذف الصف. SQL> حدد * من الأسماء ؛ الاسم العمر ------------------------------ ---------- تم تحديد Alan 50 Carrie 51 Tom 52 صفًا. SQL> الالتزام ؛ اكتمل الالتزام.
تحذيرات
-
أنشئ جدولًا احتياطيًا في تسجيل الدخول الخاص بك بحيث يمكنك استخدامه لإظهار ما كان موجودًا قبل حدوث أي حذف (في حالة وجود أي أسئلة).
SQL> إنشاء جدول alan.names_backup كما حدد * من الأسماء ؛ تم إنشاء الجدول.