.: NeVeR GivE uP :.

9-Maret-2008

store procedure MS SQL

Diarsipkan di bawah: MS SQL Server — Tag:, , — cyberheck @ 33:28

saat ini diriku bener-bener disibukkan mindahin data penduduk dari server simduk ke server siak. sial.. pekerjaan yang paling ku benci sekali.

cerita nya begini, untuk membantu dinas kependudukan dalam mendata penduduk, saya membuat kan sebuah program sederhana untuk mengentrinya, karena data tersebut belum digunakan untuk data penduduk yang fix (sudah benar) melainkan hanya sebagai pendataan calon pemilih pada pemilu gubernur.

program sudah selesai, ternyata pihak dinas kependudukan meminta data tersebut di pindahkan ke server siak (milik pusat, database oracle). whew.. mau gak mau harus kita check data yang di entri sudah bener belum, data tersebut doble atau tidak.nah dibawah ini contoh store procedure pada MS SQL yang berfungsi untuk memindahkan detail data_keluarga kedalama tabel baru bernama data_keluarga_doble, yang nantinya tabel ini berisi detail data-data doble data_keluarga. jadi nanti tinggal hapus satu data yang kita anggap fix.. trus bisa kita bandingkan dan delete sesuai data pada kedua tabel tersebut :D

IF EXISTS (SELECT * FROM sysobjects WHERE name = 'sp_InsertDKDoble' AND type = 'P')

BEGIN

  	DROP PROCEDURE sp_InsertDKDoble

END

GO

CREATE PROCEDURE sp_InsertDKDoble

AS

BEGIN


SET NOCOUNT ON



-- DECLARE VARIABLES


DECLARE


  	@nama_kep varchar(60),


  	@alamat varchar(120)



-- HAPUS DATA PADA TABEL DATA_KELUARGA


DELETE FROM DATA_KELUARGA_DOBLE



-- DATA_KELUARGA YANG DOBLE


DECLARE cur_dk CURSOR READ_ONLY FOR


SELECT


  	ISNULL(NAMA_KEP,''), ISNULL(ALAMAT,'')


FROM DATA_KELUARGA


GROUP BY NAMA_KEP, ALAMAT


HAVING COUNT(AutoID) > 1



-- BUKA CURSOR DATA_KELUARGA


OPEN cur_dk


FETCH NEXT FROM cur_dk


INTO @nama_kep, @alamat



-- FETECH CURSOR DATA_KELUARGA


WHILE @@FETCH_STATUS = 0


BEGIN


 	INSERT INTO DATA_KELUARGA_DOBLE


 	SELECT * FROM DATA_KELUARGA


 	WHERE NAMA_KEP = @nama_kep AND ALAMAT = @alamat


FETCH NEXT FROM cur_dk


 	INTO @nama_kep, @alamat


END



-- CLOSE CURSOR DATA_KELUARGA


CLOSE cur_dk


DEALLOCATE cur_dk


END

GO

GRANT EXECUTE ON sp_InsertDKDoble TO Public GO

1 Komentar »

  1. asik juga neh sharing. Knapa ga buat pake view aja. Aku pernah mindahin database simduk depdagri (informix) ke database siak. Cuma untuk urusan NIK dan NO_KK harus di genarate pake SP. Btw, kog nekat menganggap nama_KEP+alamat sbg unique. Ntar kalo ada di desa lain nama sama, alamat sama, orang beda, gimana?

    Komentar oleh aqin — 14-Mei-2008 @ 77:27


RSS umpan untuk komentar-komentar dalam tulisan ini. URI Lacak Balik

Tinggalkan komentar

Blog pada WordPress.com.