أثناء العمل في Oracle ، يمكنك العثور على نسخ مكررة في بعض السجلات. يمكنك إزالة الصفوف المكررة عن طريق تحديدها واستخدام عنوان صف الاسم المستعار RowID المقابل. قبل البدء ، أنشئ جدولًا احتياطيًا في حال احتجت إلى مرجع بعد حذف السجل.
خطوة
طريقة 1 من 4: تحديد التكرارات
الخطوة 1. تحديد التكرارات
في هذا المثال ، نحدد "Alan" المكرر. تأكد من أن السجلات المراد حذفها مكررة بالفعل عن طريق إدخال SQL أدناه.
الخطوة 2. حدد من العمود "الاسم"
إذا كان العمود يحمل العنوان "الاسم" ، فأنت بحاجة إلى استبدال "اسم_العمود" بالاسم.
الخطوة 3. تحديد الأعمدة الأخرى
إذا كنت تحاول تحديد التكرارات من أعمدة مختلفة ، على سبيل المثال عمر آلان بدلاً من اسمه ، أدخل "العمر" بدلاً من "اسم_العمود" وهكذا.
حدد اسم_العمود ، العد (اسم_العمود) من مجموعة الجدول حسب اسم_العمود الذي يحتوي على عدد (اسم_العمود)> 1 ؛
الطريقة 2 من 4: إزالة التكرارات المفردة
الخطوة 1. حدد "الاسم من الأسماء"
بعد "SQL" (اختصار لـ Standard Query Language) ، أدخل "select name from names".
الخطوة 2. احذف جميع الصفوف ذات الأسماء المكررة
بعد "SQL" ، أدخل "احذف من الأسماء حيث الاسم = 'Alan' ؛." وتجدر الإشارة إلى أن الكتابة بالأحرف الكبيرة مهمة هنا حتى تتمكن هذه الخطوة من حذف جميع الأسطر المسماة "Alan". بعد "SQL" ، أدخل "الالتزام"
الخطوة 3. أعد إدخال الصفوف بدون تكرارات
الآن بعد أن قمت بحذف جميع الصفوف واستبدالها بـ "Alan" ، قم بإعادة ملء أحد الصفوف عن طريق إدخال "insert in name value ('Alan') ؛." بعد "SQL" ، أدخل "الالتزام" لإنشاء سطر جديد.
الخطوة 4. اعرض القائمة الجديدة
بعد إكمال الخطوات المذكورة أعلاه ، يمكنك التحقق للتأكد من عدم وجود المزيد من السجلات المكررة عن طريق إدخال "تحديد * من الأسماء".
SQL> حدد اسمًا من الأسماء ؛ الاسم ------------------------------ تم اختيار Alan Citra Tomi Alan Baris. SQL> حذف من الأسماء حيث name = 'Alan' ؛ تم حذف الخط. SQL> يلتزم ؛ / الالتزام الكامل. SQL> إدراج قيم الأسماء ("Alan") ؛ تم إنشاء الصف. SQL> يلتزم ؛ اكتمل الالتزام. SQL> حدد * من الأسماء ؛ NAME ------------------------------ تم تحديد صفوف Alan Citra Tomi.
الطريقة 3 من 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 Citra 51 Tomi 52 صفًا. SQL> يلتزم ؛ اكتمل الالتزام.
تحذير
-
قم بإنشاء جدول مكرر في تسجيل الدخول الخاص بك بحيث يمكن استخدامه كمرجع للمحتوى عندما لا يتم حذف أي بيانات (في حال كان لديك أي أسئلة).
SQL> إنشاء جدول alan.names_backup كما حدد * من الأسماء ؛ تم إنشاء الجدول.