4 طرق لحذف السجلات المكررة في Oracle

جدول المحتويات:

4 طرق لحذف السجلات المكررة في Oracle
4 طرق لحذف السجلات المكررة في Oracle

فيديو: 4 طرق لحذف السجلات المكررة في Oracle

فيديو: 4 طرق لحذف السجلات المكررة في Oracle
فيديو: طريقة الحصول على الأوفيس كامل مجاناً Microsoft Office 365 2024, يمكن
Anonim

أثناء العمل في Oracle ، يمكنك العثور على نسخ مكررة في بعض السجلات. يمكنك إزالة الصفوف المكررة عن طريق تحديدها واستخدام عنوان صف الاسم المستعار RowID المقابل. قبل البدء ، أنشئ جدولًا احتياطيًا في حال احتجت إلى مرجع بعد حذف السجل.

خطوة

طريقة 1 من 4: تحديد التكرارات

احذف السجلات المكررة في أوراكل الخطوة 1
احذف السجلات المكررة في أوراكل الخطوة 1

الخطوة 1. تحديد التكرارات

في هذا المثال ، نحدد "Alan" المكرر. تأكد من أن السجلات المراد حذفها مكررة بالفعل عن طريق إدخال SQL أدناه.

احذف السجلات المكررة في الخطوة 2 من Oracle
احذف السجلات المكررة في الخطوة 2 من Oracle

الخطوة 2. حدد من العمود "الاسم"

إذا كان العمود يحمل العنوان "الاسم" ، فأنت بحاجة إلى استبدال "اسم_العمود" بالاسم.

احذف السجلات المكررة في الخطوة 3 من Oracle
احذف السجلات المكررة في الخطوة 3 من Oracle

الخطوة 3. تحديد الأعمدة الأخرى

إذا كنت تحاول تحديد التكرارات من أعمدة مختلفة ، على سبيل المثال عمر آلان بدلاً من اسمه ، أدخل "العمر" بدلاً من "اسم_العمود" وهكذا.

حدد اسم_العمود ، العد (اسم_العمود) من مجموعة الجدول حسب اسم_العمود الذي يحتوي على عدد (اسم_العمود)> 1 ؛

الطريقة 2 من 4: إزالة التكرارات المفردة

احذف السجلات المكررة في أوراكل الخطوة 4
احذف السجلات المكررة في أوراكل الخطوة 4

الخطوة 1. حدد "الاسم من الأسماء"

بعد "SQL" (اختصار لـ Standard Query Language) ، أدخل "select name from names".

احذف السجلات المكررة في أوراكل الخطوة 5
احذف السجلات المكررة في أوراكل الخطوة 5

الخطوة 2. احذف جميع الصفوف ذات الأسماء المكررة

بعد "SQL" ، أدخل "احذف من الأسماء حيث الاسم = 'Alan' ؛." وتجدر الإشارة إلى أن الكتابة بالأحرف الكبيرة مهمة هنا حتى تتمكن هذه الخطوة من حذف جميع الأسطر المسماة "Alan". بعد "SQL" ، أدخل "الالتزام"

احذف السجلات المكررة في الخطوة 6 من Oracle
احذف السجلات المكررة في الخطوة 6 من Oracle

الخطوة 3. أعد إدخال الصفوف بدون تكرارات

الآن بعد أن قمت بحذف جميع الصفوف واستبدالها بـ "Alan" ، قم بإعادة ملء أحد الصفوف عن طريق إدخال "insert in name value ('Alan') ؛." بعد "SQL" ، أدخل "الالتزام" لإنشاء سطر جديد.

احذف السجلات المكررة في الخطوة 7 من Oracle
احذف السجلات المكررة في الخطوة 7 من Oracle

الخطوة 4. اعرض القائمة الجديدة

بعد إكمال الخطوات المذكورة أعلاه ، يمكنك التحقق للتأكد من عدم وجود المزيد من السجلات المكررة عن طريق إدخال "تحديد * من الأسماء".

SQL> حدد اسمًا من الأسماء ؛ الاسم ------------------------------ تم اختيار Alan Citra Tomi Alan Baris. SQL> حذف من الأسماء حيث name = 'Alan' ؛ تم حذف الخط. SQL> يلتزم ؛ / الالتزام الكامل. SQL> إدراج قيم الأسماء ("Alan") ؛ تم إنشاء الصف. SQL> يلتزم ؛ اكتمل الالتزام. SQL> حدد * من الأسماء ؛ NAME ------------------------------ تم تحديد صفوف Alan Citra Tomi.

الطريقة 3 من 4: إزالة التكرارات المتعددة

احذف السجلات المكررة في الخطوة 8 من Oracle
احذف السجلات المكررة في الخطوة 8 من Oracle

الخطوة 1. حدد RowID الذي تريد حذفه

بعد "SQL" ، أدخل "حدد rowid ، الاسم من الأسماء ؛."

احذف السجلات المكررة في الخطوة 9 من Oracle
احذف السجلات المكررة في الخطوة 9 من Oracle

الخطوة 2. إزالة التكرارات

بعد "SQL" ، أدخل "احذف من الأسماء حيث rowid> (حدد min (rowid) من الأسماء b حيث b.name = a.name) ؛" لإزالة التكرارات.

احذف السجلات المكررة في أوراكل الخطوة 10
احذف السجلات المكررة في أوراكل الخطوة 10

الخطوة 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: حذف الصفوف حسب الأعمدة

احذف السجلات المكررة في الخطوة 11 من Oracle
احذف السجلات المكررة في الخطوة 11 من Oracle

الخطوة 1. حدد الصف

بعد "SQL" ، أدخل "حدد * من الأسماء ؛" لتتمكن من رؤية الخط.

احذف السجلات المكررة في أوراكل الخطوة 12
احذف السجلات المكررة في أوراكل الخطوة 12

الخطوة 2. قم بإزالة الصفوف المكررة عن طريق تحديد أعمدتها

بعد "SQL" أدخل "احذف من الأسماء a حيث rowid> (حدد min (rowid) من الأسماء b حيث b.name = a.name و b.age = a.age) ؛" لإزالة السجلات المكررة.

احذف السجلات المكررة في الخطوة 13 من Oracle
احذف السجلات المكررة في الخطوة 13 من Oracle

الخطوة 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 كما حدد * من الأسماء ؛ تم إنشاء الجدول.

موصى به: