Wednesday, June 1, 2016

SQL Update WHERE IN Multiple Column in MySQL and SQL Server

Siang tadi direncanakan server token akan down selama beberapa jam dan terdapat dua aplikasi yang serupa dengan menggunakan database berbeda, yaitu MySQL dan SQL Server, saya diminta untuk membuat script dimana script tersebut akan mengupdate semua user login yang ter-locked oleh sistem dikarenakan kesalahan input token.

Ideal-nya, jika memang server token tidak dapat diakses (timeout) maka counter token failed tidak bertambah. tapi apalah daya, sistem sudah berjalan. maka dari itu, perencanaan tentang flow proses amatlah penting untuk menghidari hal seperti ini.

well,, kita masuk ke topik. data yang saya lampirkan pada case kali ini adalah sebuah ilustrasi data. dari database terdapat 2 table utama yang akan menjadi acuan untuk proses update.
pertama tabel m_user dan tabel t_activity.

Table m_user











Tabel t_activity





dari data di atas, kita akan mengupdate data berdasarkan user_id dan cust_id dengan menggunakan fungsi Built In MySQL yaitu CONCAT dengan menggabungkan user_id dan cust_id sebagai kriteria update di WHERE IN.

sebelum kita lakukan update, pastikan terlebih dahulu jumlah data yang akan diupdate dengan menggunakan Query SELECT, Query ini dapat digunakan untuk mengecek data sebelum dan sesudah di Query UPDATE di eksekusi.

1. SELECT dan UPDATE data dengan kriteria WHERE IN Multiple Column di MySQL

SELECT Before Update

Update Data

SELECT After Update



2. SELECT dan UPDATE data dengan kriteria WHERE IN Multiple Column di SQL Server
Dikarenakan SQL Server tidak menyediakan fungsi Built In CONCAT di dalamnya, maka untuk menggabungkan data layaknya CONCAT, kita dapat memanfaatkan operand plus "+" sebagaimana berikut :

SELECT Before Update









UPDATE Data






SELECT After Update








untuk dapat simulasikan proses diatas, anda dapat DOWNLOAD materi tersebut.




No comments:

Post a Comment