4 راه برای حذف پرونده های تکراری در اوراکل

فهرست مطالب:

4 راه برای حذف پرونده های تکراری در اوراکل
4 راه برای حذف پرونده های تکراری در اوراکل

تصویری: 4 راه برای حذف پرونده های تکراری در اوراکل

تصویری: 4 راه برای حذف پرونده های تکراری در اوراکل
تصویری: چگونه مایکروسافت آفیس را به صورت رایگان دریافت کنیم 2024, ممکن است
Anonim

در حالی که در Oracle کار می کنید ، می توانید موارد تکراری را در برخی پرونده ها پیدا کنید. می توانید ردیف های تکراری را با شناسایی آنها و استفاده از آدرس ردیف نام مستعار RowID حذف کنید. قبل از شروع ، در صورت نیاز به مرجع پس از حذف رکورد ، یک جدول پشتیبان تهیه کنید.

گام

روش 1 از 4: شناسایی موارد تکراری

حذف موارد تکراری در Oracle مرحله 1
حذف موارد تکراری در Oracle مرحله 1

مرحله 1. موارد تکراری را شناسایی کنید

در این مثال ، ما تکراری "آلن" را شناسایی می کنیم. با وارد کردن SQL زیر مطمئن شوید که رکوردهای حذف شده در واقع تکراری هستند.

حذف موارد تکراری در Oracle مرحله 2
حذف موارد تکراری در Oracle مرحله 2

مرحله 2. از ستون با عنوان "نام" مشخص کنید

در صورتی که ستون دارای عنوان "نام" باشد ، باید "ستون_نام" را با نام جایگزین کنید.

حذف سوابق تکراری در Oracle مرحله 3
حذف سوابق تکراری در Oracle مرحله 3

مرحله 3. ستون های دیگر را مشخص کنید

اگر در حال تلاش برای شناسایی موارد تکراری از ستون های مختلف هستید ، برای مثال سن آلن به جای نام او ، "سن" را به جای "ستون_نام" و غیره وارد کنید.

نام ستون ، تعداد (نام ستون) را از گروه جدول بر اساس نام ستون با تعداد (نام ستون)> 1 انتخاب کنید ؛

روش 2 از 4: حذف موارد تکراری

حذف موارد تکراری در Oracle مرحله 4
حذف موارد تکراری در Oracle مرحله 4

مرحله 1. "name from names" را انتخاب کنید

پس از "SQL" (مخفف عبارت Standard Query Language) ، "select name from names" را وارد کنید.

حذف موارد تکراری در Oracle مرحله 5
حذف موارد تکراری در Oracle مرحله 5

مرحله 2. حذف همه سطرها با نامهای تکراری

پس از "SQL" ، "delete from names where name = 'Alan' ؛." را وارد کنید. " لازم به ذکر است که بزرگنمایی در اینجا مهم است به طوری که این مرحله می تواند تمام خطوط با نام "آلن" را حذف کند. پس از "SQL" ، "commit" را وارد کنید

حذف موارد تکراری در Oracle مرحله 6
حذف موارد تکراری در Oracle مرحله 6

مرحله 3. دوباره سطرها را بدون تکرار وارد کنید

اکنون که همه سطرها را حذف کرده اید و آنها را با "آلن" جایگزین کرده اید ، با وارد کردن "insert into name name ('Alan') ؛." پس از "SQL" ، "commit" را وارد کنید تا یک خط جدید ایجاد شود.

حذف موارد تکراری در Oracle مرحله 7
حذف موارد تکراری در Oracle مرحله 7

مرحله 4. مشاهده لیست جدید

پس از اتمام مراحل بالا ، می توانید با وارد کردن "select * from names" مطمئن شوید که دیگر رکوردهای تکراری وجود ندارد.

SQL> نام را از بین نام ها انتخاب کنید. نام ------------------------------ آلن سیترا تومی آلن باریس انتخاب شد. SQL> حذف از نام هایی که در آن نام = 'آلن'؛ خط حذف می شود. SQL> متعهد می شود ؛ / تعهد کامل شد. SQL> قرار دادن مقادیر نام ('Alan') ؛ ردیف ایجاد شد SQL> متعهد می شود ؛ تعهد کامل شد SQL> * را از نام ها انتخاب کنید. نام ------------------------------ ردیف های آلن سیترا تومی انتخاب شده است.

روش 3 از 4: حذف چندین نسخه تکراری

حذف موارد تکراری در Oracle مرحله 8
حذف موارد تکراری در Oracle مرحله 8

مرحله 1. RowID را که می خواهید حذف کنید انتخاب کنید

پس از "SQL" ، "select rowid، name from names؛." را وارد کنید.

حذف موارد تکراری در Oracle مرحله 9
حذف موارد تکراری در Oracle مرحله 9

مرحله 2. موارد تکراری را حذف کنید

پس از "SQL" ، "delete from names a where rowid> (min (rowid) را از نامهای b که b.name = a.name) را انتخاب کنید ؛" برای حذف موارد تکراری

حذف موارد تکراری در Oracle مرحله 10
حذف موارد تکراری در Oracle مرحله 10

مرحله 3. موارد تکراری را بررسی کنید

پس از اتمام مراحل بالا ، با وارد کردن "select rowid، name from names؛" موارد تکراری را بررسی کنید. سپس "متعهد" شوید

SQL> rowid ، name from names را انتخاب کنید. نام ROWID ------------------ ------------------------------ AABJnsAAGAAAdfOAAA Alan AABJnsAAGAAAdfOAAB Alan AABJnsAAGAAAdfOAAC Carrie AABJnsAAGAAdfOAAD Tom AABJnsAAGAAAdfOAAF ردیف های آلن انتخاب شده است. SQL> حذف از نامهای a rowid> (min (rowid) را از نامهای b که b.name = a.name) انتخاب کنید ؛ سطرها حذف شدند SQL> rowid ، name from names را انتخاب کنید. نام ROWID ------------------ ------------------------------ AABJnsAAGAAAdfOAAA آلن AABJnsAAGAAAdfOAAC Carrie AABJnsAAGAAAdfOAAD ردیف های تام انتخاب شده است. SQL> متعهد می شود ؛ تعهد کامل شد

روش 4 از 4: حذف سطرها بر اساس ستون ها

حذف موارد تکراری در Oracle مرحله 11
حذف موارد تکراری در Oracle مرحله 11

مرحله 1. سطر را انتخاب کنید

پس از "SQL" ، "select * from names؛" را وارد کنید. " تا بتواند خط را ببیند.

حذف موارد تکراری در Oracle مرحله 12
حذف موارد تکراری در Oracle مرحله 12

مرحله 2. ردیف های تکراری را با شناسایی ستون های آنها حذف کنید

پس از "SQL" "enter" را از نامهای a rowid حذف کنید (min (rowid) را از نامهای b که b.name = a.name و b.age = a.age) را انتخاب کنید. " برای حذف سوابق تکراری

حذف موارد تکراری در Oracle مرحله 13
حذف موارد تکراری در Oracle مرحله 13

مرحله 3. موارد تکراری را بررسی کنید

پس از اتمام مراحل بالا ، "select * from names؛" را وارد کنید. سپس "متعهد" شوید تا ببینید آیا موارد تکراری واقعاً حذف شده اند.

SQL> انتخاب * از بین نامها ؛ NAME AGE ------------------------------ ---------- آلن 50 سیترا 51 تومی 52 آلن 50 ردیف های انتخاب شده SQL> حذف از نامهای a rowid> (min (rowid) را از نامهای b که b.name = a.name و b.age = a.age) انتخاب کنید ؛ ردیف حذف شد SQL> را انتخاب کنید * از نام؛ NAME AGE ------------------------------ ---------- آلن 50 سیترا 51 تومی 52 ردیف انتخاب شده است به SQL> متعهد می شود ؛ تعهد کامل شد

هشدار

  • یک جدول تکراری در ورود خود ایجاد کنید تا در صورت عدم حذف داده ها (در صورت داشتن هرگونه سوال) بتوانید از آن به عنوان مرجع محتوا استفاده کنید.

    SQL> ایجاد جدول alan.names_backup به عنوان * انتخاب شده از بین نامها ؛ جدول ایجاد شد

توصیه شده: