Oracle дээрх давхардсан бичлэгүүдийг устгах 4 арга

Агуулгын хүснэгт:

Oracle дээрх давхардсан бичлэгүүдийг устгах 4 арга
Oracle дээрх давхардсан бичлэгүүдийг устгах 4 арга

Видео: Oracle дээрх давхардсан бичлэгүүдийг устгах 4 арга

Видео: Oracle дээрх давхардсан бичлэгүүдийг устгах 4 арга
Видео: 👑 Бүх зурагаа үүрд хадгал 2024, May
Anonim

Oracle -д ажиллаж байхдаа таны зарим бичлэг давхардсан байж магадгүй юм. Та эдгээр давхардсан мөрүүдийг тодорхойлж RowID буюу мөрийн хаягийг ашиглан устгаж болно. Эхлэхээсээ өмнө бичлэгийг устгасны дараа лавлах шаардлагатай бол нөөц хүснэгт үүсгэх хэрэгтэй.

Алхам

4 -ийн 1 -р арга: Давхардлаа таних

Oracle 1 дэх Давхардсан Бичлэгүүдийг устгах
Oracle 1 дэх Давхардсан Бичлэгүүдийг устгах

Алхам 1. Давхардлыг тодорхойлно уу

Энэ тохиолдолд давхардсан "Алан" жишээг тодорхойл. Доорх SQL -ийг оруулснаар устгах гэж буй бичлэгүүд нь давхардсан эсэхийг шалгаарай.

Oracle 2 дахь Давхардсан Бичлэгүүдийг устгах
Oracle 2 дахь Давхардсан Бичлэгүүдийг устгах

Алхам 2. "Нэрс" нэртэй баганаас таних

"" Нэрс "нэртэй баганын хувьд та" column_name "-ийг Нэрээр солих болно.

Oracle 3 дахь Давхардсан Бичлэгүүдийг устгах
Oracle 3 дахь Давхардсан Бичлэгүүдийг устгах

Алхам 3. Бусад баганаас таних

Хэрэв та давхардлыг өөр баганаар тодорхойлохыг оролдож байсан бол, жишээлбэл Аланы нэрийг биш насыг нь, "column_name" гэх мэтийн оронд "Нас" гэж оруулна уу.

хүснэгтийн бүлгээс column_name, count (column_name) -ийг тоолох (column_name)> 1;

4 -ийн 2 -р арга: Нэг хуулбарыг устгах

Oracle 4 -р давхардсан бичлэгүүдийг устгах
Oracle 4 -р давхардсан бичлэгүүдийг устгах

Алхам 1. Нэрүүдээс "нэрийг сонгоно уу

"Стандарт асуулгын хэл гэсэн утгатай" SQL "-гийн дараа" нэрнээс нэр сонгох "гэж оруулна уу.

Oracle 5 дахь Давхардсан Бичлэгүүдийг устгах
Oracle 5 дахь Давхардсан Бичлэгүүдийг устгах

Алхам 2. Давхардсан нэртэй бүх мөрийг устга

"SQL" гэж оруулсны дараа "=" Alan '; "гэсэн нэрсээс устгах" оруулна уу. " Энд томоор бичих нь чухал ач холбогдолтой тул "Алан" нэртэй бүх мөрүүдийг устгах болно гэдгийг анхаарна уу. "SQL" -гийн дараа "гүйцэтгэх" гэж оруулна уу.

Oracle 6 дахь Давхардсан Бичлэгүүдийг устгах
Oracle 6 дахь Давхардсан Бичлэгүүдийг устгах

Алхам 3. Давхардалгүйгээр эгнээ дахин оруулна уу

"Алан" гэсэн нэртэй бүх мөрийг устгасны дараа та "нэрийн утгыг оруулах (" Алан '); "гэж оруулаад нэг мөр оруулах боломжтой. "SQL" -гийн дараа "мөрөө" оруулаад шинэ мөрөө үүсгэнэ үү.

Oracle 7 дахь Давхардсан Бичлэгүүдийг устгах
Oracle 7 дахь Давхардсан Бичлэгүүдийг устгах

Алхам 4. Шинэ жагсаалтаа үзнэ үү

Дээрх алхмуудыг хийж дууссаны дараа та нэрсээс сонгох * гэж оруулаад давхардсан бүртгэл байхгүй байгаа эсэхийг шалгаж болно.

SQL> нэрнээс нэрийг сонгох; НЭР ------------------------------ Алан Кэрри Том Алан мөрүүдийг сонгосон. SQL> name = 'Alan' гэсэн нэрсээс устгах; мөрүүдийг устгасан. SQL> хийх; Амлалт дууссан. SQL> нэрийн утгыг оруулах ('Alan'); эгнээ үүсгэсэн. SQL> хийх; Амлалт дууссан. SQL> нэрнээс * сонгох; НЭР ------------------------------ Алан Кэрри Том мөрүүдийг сонгосон.

4 -ийн 3 -р арга: Олон хуулбарыг устгах

Oracle 8 -р алхам дахь Давхардсан Бичлэгүүдийг устгах
Oracle 8 -р алхам дахь Давхардсан Бичлэгүүдийг устгах

Алхам 1. Устгахыг хүсч буй RowID -ийг сонгоно уу

"SQL" оруулсны дараа "оруулна уу", rowid, нэрийг нэрээс нь сонгоно уу.

Oracle 9 -р давхардсан бүртгэлийг устгах
Oracle 9 -р давхардсан бүртгэлийг устгах

Алхам 2. Давхардсан хэсгийг устгана уу

"SQL" гэж оруулсны дараа "rowid> гэсэн нэрнээс устгах" (b.name = a.name b нэрээс min (rowid) сонгоно уу); " давхардсан бүртгэлийг устгах.

Oracle 10 дахь Давхардсан Бичлэгүүдийг устгах
Oracle 10 дахь Давхардсан Бичлэгүүдийг устгах

Алхам 3. Давхардсан эсэхийг шалгана уу

Дээрх зүйлийг хийсний дараа тушаалууд танд давхардсан бүртгэл байгаа эсэхийг шалгахын тулд "rowid, name from name;" оруулна уу. дараа нь "үүрэг хүлээх".

SQL> rowid, нэрээс нэр сонгох; ROWID NAME ------------------ ------------------------------ AABJnsAAGAAAdfOAAA Alan AABJnsAAGAAAdfOAAB Alan AABJnsAAGAAAdfOAAC Carrie AABJnsAAGAAAdfOAAD Том AABJnsAAGAAAdfOAAF Alan эгнээ сонгогдсон. SQL> нэрсээс устгах a where rowid> (b.name = a.name b нэрээс min (rowid) сонгох); мөрүүдийг устгасан. SQL> rowid, нэрээс нэр сонгох; ROWID NAME ------------------ ------------------------------ AABJnsAAGAAAdfOAAA Alan AABJnsAAGAAAdfOAAC Carrie AABJnsAAGAAAdfOAAD Том эгнээ сонгосон. SQL> хийх; Амлалт дууссан.

4 -ийн 4 -р арга: Багана бүхий мөрүүдийг устгах

Oracle 11 алхам дахь Давхардсан Бичлэгүүдийг устгах
Oracle 11 алхам дахь Давхардсан Бичлэгүүдийг устгах

Алхам 1. Мөрөө сонгоно уу

"SQL" гэж оруулсны дараа "нэрсээс * сонгох;" оруулна уу. эгнээгээ харахын тулд.

Oracle 12 -р алхам дахь Давхардсан Бичлэгүүдийг устгах
Oracle 12 -р алхам дахь Давхардсан Бичлэгүүдийг устгах

Алхам 2. Давхардсан мөрүүдийг баганыг нь тодорхойлж устгах

"SQL" -г оруулсны дараа "rowid> гэсэн нэрнээс устгах" (b.name = a.name ба b.age = a.age гэсэн нэрсээс min (rowid) -г сонгоно уу); " давхардсан бүртгэлийг устгах.

Oracle 13 дахь Давхардсан Бичлэгүүдийг устгах
Oracle 13 дахь Давхардсан Бичлэгүүдийг устгах

Алхам 3. Давхардсан эсэхийг шалгана уу

Дээрх алхмуудыг хийсний дараа "нэрсээс * сонгох;" оруулна уу. дараа нь давхардсан бүртгэлийг амжилттай устгасан эсэхээ шалгахын тулд "үүрэг хүлээнэ үү".

SQL> нэрнээс * сонгох; НЭР НАС ------------------------------ ---------- Алан 50 Кэрри 51 Том 52 Алан 50 мөрүүдийг сонгосон. SQL> нэрсээс устгах a хаана rowid> (b.name = a.name болон b.age = a.age гэсэн нэрсээс min (rowid) сонгох); мөрийг устгасан. SQL> нэрнээс * сонгох; НЭР НАС ------------------------------ ---------- Алан 50 Кэрри 51 Том 52 мөр сонгосон. SQL> хийх; Амлалт дууссан.

Анхааруулга

  • Нэвтрэх үедээ нөөц хүснэгт үүсгэж, устгахаас өмнө юу байсныг харуулах боломжтой (хэрэв асуулт байвал).

    SQL> нэрсээс * сонгох байдлаар alan.names_backup хүснэгт үүсгэх; Хүснэгт үүсгэсэн.

Зөвлөмж болгож буй: