4 דרכים למחיקת רשומות כפולות באורקל

תוכן עניינים:

4 דרכים למחיקת רשומות כפולות באורקל
4 דרכים למחיקת רשומות כפולות באורקל

וִידֵאוֹ: 4 דרכים למחיקת רשומות כפולות באורקל

וִידֵאוֹ: 4 דרכים למחיקת רשומות כפולות באורקל
וִידֵאוֹ: אנשים שנפלו לתוך כלובים של חיות מסוכנות | טופטן 2024, מאי
Anonim

כאשר אתה עובד באורקל, אתה עשוי לגלות שלחלק מהרשומות שלך יש כפילויות. אתה יכול למחוק שורות כפולות אלה על ידי זיהוי שלהן באמצעות RowID או כתובת השורה שלה. לפני שתתחיל, עליך ליצור טבלת גיבוי למקרה שתצטרך להפנות אליהם לאחר מחיקת רשומות.

צעדים

שיטה 1 מתוך 4: זיהוי הכפיל שלך

מחק רשומות כפולות בשלב 1 של אורקל
מחק רשומות כפולות בשלב 1 של אורקל

שלב 1. זהה את הכפיל

במקרה זה, זהה את הדוגמה הכפולה, "אלן". ודא שהרשומות שאתה מנסה למחוק הן למעשה כפילויות על ידי הזנת ה- SQL למטה.

מחק רשומות כפולות בשלב 2 של אורקל
מחק רשומות כפולות בשלב 2 של אורקל

שלב 2. זיהוי מתוך עמודה בשם "שמות

"במקרה של עמודה בשם" שמות ", היית מחליף" שם_עמודה "בשמות.

מחק רשומות כפולות בשלב 3 של אורקל
מחק רשומות כפולות בשלב 3 של אורקל

שלב 3. זיהוי מעמודות אחרות

אם ניסית לזהות את הכפיל לפי עמודה אחרת, למשל גיל אלן ולא שמו, היית מזין "גילאים" במקום "שם_טור" וכן הלאה.

בחר שם טור, ספירה (שם טור) מקבוצת הטבלה לפי שם טור עם ספירה (שם טור)> 1;

שיטה 2 מתוך 4: מחיקת כפילות אחת

מחק רשומות כפולות בשלב 4 של אורקל
מחק רשומות כפולות בשלב 4 של אורקל

שלב 1. בחר "שם מהשמות

"אחרי" SQL ", המייצג שפת שאילתות רגילה, הזן" בחר שם מהשמות ".

מחק רשומות כפולות בשלב 5 של אורקל
מחק רשומות כפולות בשלב 5 של אורקל

שלב 2. מחק את כל השורות עם השם המשוכפל

לאחר "SQL", הזן "מחק משמות שבהם name = 'Alan';." שים לב שאותן רישיות חשובות כאן, כך שזה ימחק את כל השורות בשם "אלן". לאחר "SQL", הזן "התחייב".

מחק רשומות כפולות בשלב 6 של אורקל
מחק רשומות כפולות בשלב 6 של אורקל

שלב 3. שכר את השורה ללא כפילות

כעת, לאחר שמחקת את כל השורות עם השם לדוגמה "אלן", תוכל להכניס אחת לאחור על ידי הזנת "הכנס לערכי שם ('אלן');." לאחר "SQL", הזן "התחייב" ליצירת השורה החדשה שלך.

מחק רשומות כפולות באורקל שלב 7
מחק רשומות כפולות באורקל שלב 7

שלב 4. עיין ברשימה החדשה שלך

לאחר השלמת השלבים לעיל, תוכל לבדוק אם אין לך עוד רשומות כפולות על ידי הזנת "בחר * מהשמות".

SQL> בחר שם משמות; NAME ------------------------------ אלן קארי טום אלן נבחר שורות. SQL> מחק משמות שבהם name = 'Alan'; שורות נמחקו. SQL> להתחייב; התחייבות מלאה. SQL> הכנס לשמות ערכים ('אלן'); נוצרה השורה. SQL> להתחייב; התחייבות מלאה. SQL> בחר * מתוך שמות; NAME ------------------------------ נבחרו שורות אלן קארי טום.

שיטה 3 מתוך 4: מחיקת כפילויות מרובות

מחק רשומות כפולות בשלב 8 של אורקל
מחק רשומות כפולות בשלב 8 של אורקל

שלב 1. בחר את ה- RowID שברצונך למחוק

לאחר "SQL", הזן "בחר rowid, שם מהשמות;."

מחק רשומות כפולות באורקל שלב 9
מחק רשומות כפולות באורקל שלב 9

שלב 2. מחק את הכפיל

לאחר "SQL", הזן "מחק מהשמות a שבו rowid> (בחר min (rowid) מהשמות b שבו b.name = a.name);" למחוק רשומות כפולות.

מחק רשומות כפולות באורקל שלב 10
מחק רשומות כפולות באורקל שלב 10

שלב 3. בדוק אם יש כפילויות

לאחר השלמת האמור לעיל, הפקודות בודקות אם עדיין יש לך רשומות כפולות על ידי הזנת "בחר rowid, שם מהשמות;" ואז "להתחייב".

SQL> בחר rowid, שם משמות; שם ROWID ------------------ ------------------------------ AABJnsAAGAAAdfOAAA Alan AABJnsAAGAAAdfOAAB Alan AABJnsAAGAAAdfOAAC קארי AABJnsAAGAAAdfOAAD טום AABJnsAAGAAAdfOAAF שורות אלן נבחרו. SQL> מחק מהשמות a שבו rowid> (בחר min (rowid) מהשמות b שבו b.name = a.name); שורות נמחקו. SQL> בחר rowid, שם משמות; שם ROWID ------------------ ------------------------------ AABJnsAAGAAAdfOAAA Alan AABJnsAAGAAAdfOAAC קארי AABJnsAAGAAAdfOAAD שורות טום נבחרו. SQL> להתחייב; התחייבות מלאה.

שיטה 4 מתוך 4: מחיקת שורות עם עמודות

מחק רשומות כפולות באורקל שלב 11
מחק רשומות כפולות באורקל שלב 11

שלב 1. בחר את השורות שלך

לאחר "SQL", הזן "בחר * מתוך שמות;" כדי לראות את השורות שלך.

מחק רשומות כפולות בשלב 12 של אורקל
מחק רשומות כפולות בשלב 12 של אורקל

שלב 2. מחק שורות כפולות על ידי זיהוי העמודה שלהן

לאחר "SQL" הזן "מחק מהשמות a שבו rowid> (בחר min (rowid) מהשמות b שבו b.name = a.name ו- b.age = a.age);" למחוק את הרשומות הכפולות.

מחק רשומות כפולות באורקל שלב 13
מחק רשומות כפולות באורקל שלב 13

שלב 3. בדוק אם יש כפילויות

לאחר השלמת השלבים לעיל, הזן "בחר * מתוך השמות;" ולאחר מכן "התחייב" על מנת לבדוק שמחקת את הרשומות הכפולות בהצלחה.

SQL> בחר * מתוך שמות; גיל גיל ------------------------------ ---------- אלן 50 קארי 51 טום 52 אלן 50 שורות שנבחרו. SQL> מחק מהשמות a שבו rowid> (בחר min (rowid) מהשמות b שבו b.name = a.name ו- b.age = a.age); השורה נמחקה. SQL> בחר * מתוך שמות; גיל גיל ------------------------------ ---------- אלן 50 קארי 51 טום נבחרו 52 שורות. SQL> להתחייב; התחייבות מלאה.

אזהרות

  • צור טבלת גיבוי בכניסה משלך שתוכל להשתמש בה כדי להראות מה היה לפני שהתרחשה מחיקה (למקרה שיש שאלות).

    SQL> צור טבלה alan.names_backup כבחירה * מתוך שמות; טבלה נוצרה.

מוּמלָץ: