Ada field yang bisa dijadikan kunci ? 

Misalkan data anda adalah data customer, mungkin ada satu field bernama kode
kustomer yang bisa dibuatkan kuncinya, tetapi  ternyata sudah ada exist
beberapa kode customer yang sama, bahkan ternyata kode yang sama dipakai
oleh customer berbeda.

Anda bisa periksa dari sql servernya dulu menggunakan TSQL di SQL Query
Analyzer untuk memperoleh data yang sama. Misalkan patokan kita adalah kode
kustomer yang sama:

 

SELECT KodeCustomer, SUM(1) Jumlah

FROM Customers

GROUP BY KodeCustomer

HAVING SUM(1) <> 1

 

Script di atas akan memberikan anda list kode kustomer dengan kode yang sama
itu terbit berapa kali, contoh datanya:

A00001 | 2

A00002 | 3

A00005 | 2

 

Untuk memeriksa isi detail dari tabel yang berkode sama, tinggal joinkan
saja lagi dengan tabel aslinya:

 

SELECT C.*

FROM Customers C

INNER JOIN (

    SELECT KodeCustomer, SUM(1) Jumlah

    FROM Customers

    GROUP BY KodeCustomer

    HAVING SUM(1) <> 1

) G ON C.KodeCustomer = G.KodeCustomer

 

Dari list ini, mungkin harus ada campur tangan manual untuk menentukan
customer mana yang akan memakai kode ganda tersebut, dan customer mana yang
akan dibuang, atau akan diberi kode baru.

 

Nah, dari sini, jika sudah beres kode yang bermasalah, anda bisa menggunakan
cara temporary tabel untuk menampung data dari tabel asli yang dalam kondisi
DISTINCT (ganda di eliminir):

 

SELECT DISTINCT * INTO #Customer FROM Customer

 

Lalu kosongkan tabel Customer:

 

DELETE Customer

 

Lalu masukkan kembali tabel sementara tadi ke tabel aslinya:

 

INSERT Customer

SELECT * 

FROM #Customer

 

Optional, anda bisa buang temp. table dari memory:

DROP TABLE #Customer.

 

Dari contoh sederhana ini, anda bisa sesuaikan field2 yang diinginkan,
termasuk kemungkinan key merupakan komposit dari dua field (mis.
KodeCustomer + KodeArea).

 

Selamat bekerja.

 

Aksan Kurdin

Ps. Jangan lupa backup dulu..

 

 

From: [email protected] [mailto:[EMAIL PROTECTED]
On Behalf Of [EMAIL PROTECTED]
Sent: Monday, July 30, 2007 9:03 AM
To: [email protected]
Subject: [Programmer-VB] nanya tentang VB code utk hapus data ganda

 


Bro, 

Saya punya problem neeh dalam menghapus data yang ada diSQL Server dengan
menggunakan ODBC 
karena data diserver ada banyak yang double datanya maka saya mau menghapus
dulu data yang ada di databasenya semua 
setelah itu saya akan input lagi datanya 
tetapi saya ada problem saat menghapus datanya 
padahal saya sudah masukkan code "ON ERROR RESUME NEXT" 
tapi tetap saja keluar syntak errornya, dan datanya tidak terhapus 
apakah kawan-kawan ada yg punya cara atau masukan yang lain untuk menghapus
data tsb, tapi jangan cara manual ya, lumayan ada sekitar seribu data 


Regard & Thanks

Fendy

 

Kirim email ke