เมื่อออกแบบวัตถุใน SQL Server เราต้องปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุดบางประการ ตัวอย่างเช่นตารางควรมีคีย์หลักคอลัมน์ข้อมูลประจำตัวดัชนีคลัสเตอร์และไม่รวมกลุ่มความสมบูรณ์ของข้อมูลและข้อ จำกัด ด้านประสิทธิภาพ ตาราง SQL Server ไม่ควรมีแถวที่ซ้ำกันตามแนวทางปฏิบัติที่ดีที่สุดในการออกแบบฐานข้อมูล อย่างไรก็ตามบางครั้งเราจำเป็นต้องจัดการกับฐานข้อมูลที่ไม่ปฏิบัติตามกฎเหล่านี้หรือในกรณีที่มีข้อยกเว้นที่เป็นไปได้เมื่อกฎเหล่านี้ถูกข้ามโดยเจตนา แม้ว่าเราจะปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุด แต่เราอาจประสบปัญหาเช่นแถวที่ซ้ำกัน
ตัวอย่างเช่นเราสามารถรับข้อมูลประเภทนี้ได้ในขณะที่นำเข้าตารางกลางและเราต้องการลบแถวที่ซ้ำซ้อนก่อนที่จะเพิ่มลงในตารางการผลิตจริง ยิ่งไปกว่านั้นเราไม่ควรทิ้งผู้มีโอกาสเป็นลูกค้าในการทำซ้ำแถวเนื่องจากข้อมูลที่ซ้ำกันทำให้สามารถจัดการคำขอได้หลายรายการผลการรายงานที่ไม่ถูกต้องและอื่น ๆ อย่างไรก็ตามหากเรามีแถวที่ซ้ำกันในคอลัมน์แล้วเราจำเป็นต้องปฏิบัติตามวิธีการเฉพาะเพื่อล้างข้อมูลที่ซ้ำกัน ลองดูวิธีการบางอย่างในบทความนี้เพื่อลบการทำซ้ำข้อมูล
ตารางที่มีแถวที่ซ้ำกัน
จะลบแถวที่ซ้ำกันออกจากตารางเซิร์ฟเวอร์ SQL ได้อย่างไร
มีหลายวิธีใน SQL Server ในการจัดการเรกคอร์ดที่ซ้ำกันในตารางตามสถานการณ์เฉพาะเช่น:
การลบแถวที่ซ้ำกันออกจากตารางดัชนี SQL Server ที่ไม่ซ้ำกัน
คุณสามารถใช้ดัชนีเพื่อจำแนกข้อมูลที่ซ้ำกันในตารางดัชนีที่ไม่ซ้ำกันจากนั้นลบระเบียนที่ซ้ำกัน อันดับแรกเราต้อง สร้างฐานข้อมูล ชื่อว่า“ test_database” จากนั้นสร้างตาราง“ พนักงาน ” ด้วยดัชนีเฉพาะโดยใช้รหัสที่ระบุด้านล่าง
ใช้ต้นแบบ GO สร้างฐานข้อมูล test_database GO ใช้ [test_database] ไปสร้างพนักงานตาราง ([ID] INT NOT NULL IDENTITY (1,1), [Dep_ID] INT, [Name] varchar (200), [email] varchar (250) NULL , [city] varchar (250) NULL, [address] varchar (500) NULL CONSTRAINT Primary_Key_ID PRIMARY KEY (ID))
ผลลัพธ์จะเป็นดังนี้
การสร้างตาราง“ พนักงาน”
ตอนนี้ใส่ข้อมูลลงในตาราง เราจะแทรกแถวที่ซ้ำกันด้วย “ Dep_ID” 003,005 และ 006 เป็นแถวที่ซ้ำกันซึ่งมีข้อมูลคล้ายกันในทุกช่องยกเว้นคอลัมน์ข้อมูลประจำตัวที่มีดัชนีคีย์เฉพาะ ดำเนินการตามรหัสที่ระบุด้านล่าง
ใช้ [test_database] GO INSERT INTO Employee (Dep_ID, ชื่อ, อีเมล, เมือง, ที่อยู่) VALUES (001, 'Aaaronboy Gutierrez