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

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

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

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

Видео: Oracle дээрх давхардсан бичлэгүүдийг устгах 4 арга
Видео: Microsoft Visio - Tutorial for Beginners [ COMPLETE ] 2024, May
Anonim

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

Алхам

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" -гийн дараа "name = 'Alan';. Энд томоор бичих нь чухал гэдгийг тэмдэглэх нь зүйтэй бөгөөд ингэснээр энэ алхам нь "Алан" нэртэй бүх мөрүүдийг устгах боломжтой болно. "SQL" -гийн дараа "гүйцэтгэх" гэж оруулна уу.

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

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

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

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

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

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

SQL> нэрнээс нэрийг сонгох; НЭР ------------------------------ Алан Ситра Томи Алан Барис сонгогдсон. SQL> name = 'Alan' гэсэн нэрсээс устгах; Мөр устгагдсан байна. SQL> үүрэг гүйцэтгэдэг; / Даалгавар дууссан. SQL> нэрийн утгыг оруулах ('Alan'); эгнээ үүсгэсэн. SQL> үүрэг гүйцэтгэдэг; Амлалт дууссан. SQL> нэрнээс * сонгох; NAME ------------------------------ Алан Ситра Томи мөрүүдийг сонгосон.

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

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

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

"SQL" -г оруулсны дараа "select rowid, name from name;." Гэж оруулна уу.

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> нэрнээс * сонгох; НЭР НАС ------------------------------ ---------- Alan 50 Citra 51 Tomi 52 мөр сонгосон. SQL> үүрэг гүйцэтгэдэг; Амлалт дууссан.

Анхааруулга

  • Нэвтрэх хуудсандаа давхардсан хүснэгт үүсгээрэй, ингэснээр ямар ч өгөгдөл устгагдаагүй тохиолдолд агуулгын лавлагаа болгон ашиглах боломжтой болно (хэрэв танд асуулт байвал).

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

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