
Last Updated (Sunday, 09 August 2009 13:17) Tuesday, 13 January 2009 12:00
หลาย ครั้ง ที่เราสร้างตาราง โดยไม่มี constraint เช่น Primary Key , Unique Key แล้วในตารางนั้น เราโหลด ข้อมูลใส่เข้าไปแล้ว ต่อมาเราจะสร้าง constraint พวก primary key ไปผูก แต่ปรากฏว่า ไม่สามารถ enable ขึ้นมาได้ เนื่องจาก ในตารางมีแถวที่ข้อมูลซ้ำกัน อาจเพราะโหลดข้อมูลเข้าไปเบิ้ลซ้ำกัน หรือ ด้วยสาเหตุอะ ไรก็แล้วแต่
วิธีนี้ จะช่วยกำจัดแถว ที่ข้อมูลซ้ำกันหลายแถวออกไป ให้เหลือเพียงแค่แถวเดียว
1. สร้างตารางขึ้นมาสำหรับทดสอบ

2. ใส่ข้อมูลที่ซ้ำกันลงไป สัก 2 ชุด


3. จะเห็นว่า เรามีข้อมูลที่ซ้ำกันอยู่ เราจะกำจัดแถวที่ซ้ำกัน เพื่อเอา ID เป็น Primary Key

4. เขียน SQL ดังนี้
DELETE FROM your_tableโดย column1 , column2 , column3 ,.. เป็นคอลัมน์ที่จะเอามาทำเป็น Key
WHERE rowid not in ( SELECT MIN(rowid)
FROM your_table
GROUP BY column1, column2, column3...) ;

5. เมื่อดูอีกที จะเห็นว่าแถวที่ซ้ำกันถูกลบไปแล้ว เหลือแต่ตัวแทนของข้อมูลซ้ำแค่แถวเดียว
oracle database table oracle database data using pl/sql index oracle tutorial password oracle thailand oracle training thailand database administrator oracle thai oracle dba oracle training oracle consulting oracle consultance thai oracle consultance oracle consulting thailand mysql tuning indexes statistics join column migration rman tables production


