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. شناسایی از ستون های دیگر

اگر سعی می کردید ستون تکراری را با ستون دیگری ، به عنوان مثال سن آلن و نه نام او ، شناسایی کنید ، "Ages" را به جای "name_name" و غیره وارد می کنید.

نام ستون ، تعداد (نام ستون) را از گروه جدول بر اساس نام ستون با تعداد (نام ستون)> 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" delete from names where name = 'Alan' ؛. " توجه داشته باشید که بزرگنمایی در اینجا مهم است ، بنابراین با این کار همه سطرهایی با نام "آلن" حذف می شود. پس از "SQL" ، "commit" را وارد کنید.

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

مرحله 3. ردیف را بدون کپی اجاره دهید

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

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

مرحله 4. لیست جدید خود را مشاهده کنید

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

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

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

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

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

پس از "SQL" ، enter "rowid، name from names ؛. را انتخاب کنید."

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

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

پس از "SQL" ، "enter" را حذف کنید از نامهای a 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" ، "را انتخاب کنید * از نام؛" برای دیدن ردیف های شما

حذف موارد تکراری در 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 به عنوان * انتخاب شده از بین نامها ؛ جدول ایجاد شد

توصیه شده: