Generate query menggunakan Excel
Pada suatu hari, Bayu mendapat tugas untuk memasukkan data dari sebuah excel ke dalam database untuk keperluan aplikasi. Sementara dalam aplikasi tersebut tidak terdapat fasilitas untuk mengupload data Excel ke dalamnya. Lalu, bagaimana cara Bayu melakukannya? Apa Bayu harus menulis query insert untuk setiap datanya?
Pada kasus seperti di atas mungkin banyak teman-teman juga yang mengalaminya. Mungkin ada yang berpikiran menulis query untuk semua data. Untuk jumlah data yang sedikit mungkin bukan hal yang jadi masalah. Namun, bagaimana bila data tersebut terdiri dari puluhan atau ratusan data? Akan membutuhkan waktu yang sangat lama dan ini menjadi tidak efisien.
Pada kali ini, saya akan membagikan cara yang mungkin efektif dengan menggunakan Excel. Saya tidak menyebutkan detail Excel tersebut, teman-teman bisa menggunakan Microsoft Excel maupun software spreadsheet lainnya. Tapi untuk artikel ini, saya menggunakan Microsoft Excel 2013 (karena di laptop kantor terinstal Ms. Excel 2013,hehe..) dan database SQL Server 2008 R sebagai latihan. Untuk file Excel, teman-teman bisa download file Excelnya di : ProvinsiKabupaten.xls. Untuk tabel databasenya, teman-teman bisa create menggunakan query berikut :
Kita akan mencoba memasukkan data provinsi ke tabel provinsi. Berikut langkah-langkahnya :
- Kita buka file Excel tersebut dan kita blok kolom D2 – D32.
- Ketikkan pada kolom Formula dengan formula berikut
=”INSERT INTO [Indonesia].[dbo].[tblProvinsi] ([Id_Provinsi], [Nama_Provinsi]) VALUES (‘” & A2 & “‘, ‘” & B2 & “‘)”
seperti berikut :
Atau bisa memanfaatkan fungsi CONCATENATE pada excel dengan rumus
=CONCATENATE(“INSERT INTO [Indonesia].[dbo].[tblProvinsi] ([Id_Provinsi], [Nama_Provinsi]) VALUES (‘”,A2,”‘, ‘”,B2,”‘)”)
seperti berikut :
- Kemudian tekan Ctrl + Enter. Maka script pun siap kita eksekusi di SQL Server.
-
Kita Copy kolom tersebut.
- Kita buka Sql Server. Paste-kan query yang tadi kita copy. Di sini saya tambahkan Begin Transaction agar proses Rollback saat tengah jalan ada yang salah dengan querynya.
- Execute script tersebut. Maka data telah masuk dalam tabel Provinsi.
Kita dapat melakukan hal serupa dengan kabupaten. Teman-teman bisa mencobanya. Untuk kasus yang lain hanya menyesuaikan query yang ingin dibuatnya. Generate ini tidak terbatas hanya untuk query Insert saja. Update, Delete, maupun query lainnya bisa diterapkan dengan cara ini tergantung dari kebutuhan yang diinginkan dan kasus yang terjadi. Bagaimana?? Mudah kan?? Selamat bekerja 😀