INSERT INTO … VALUES … , INSERT INTO …. SELECT, dan SELECT … INTO ….
Pagi hari yang cerah ini, saat yang tepat untuk berbagi,hehe….
Kali ini saya ingin menjelaskan tentang 3 pola query insert (untuk SQL Server) yang sering digunakan untuk menginputkan data. Mungkin teman-teman sudah tidak asing menggunakan pola INSERT INTO. Dalam penggunaannya ternyata memiliki pola yang lain untuk keperluan yang berbeda. Baik, saya langsung jelaskan satu persatu, namun sebelumnya saya asumsikan teman-teman telah memiliki tabel barang dan produk yang ada pada artikel Menyimpan hasil insert yang disimpan ke suatu tabel dari suatu tabel ke dalam tabel lain.
1. INSERT INTO … VALUES …
Untuk query ini, tentunya teman-teman sudah biasa menggunakannya. Query ini digunakan untuk menginput data ke database baik satu atau lebih dari suatu inputan. Misalnya, kita ingin menambahkan data ke tabel barang dengan kode_barang=C021,kode_gudang=G01B,nama_barang=Mi Instan. Maka kita dapat membuat query seperti berikut :
Atau kita ingin menambahkan dua buah data ke tabel barang dengan kode_barang=C022,kode_gudang=G01B,nama_barang=Kopi dan kode_barang=C023,kode_gudang=G01B,nama_barang=Kopi Luwak. Maka kita dapat membuat query seperti berikut :
2. INSERT INTO …. SELECT
Untuk query yang satu ini biasanya digunakan untuk menyimpan data ke tabel dari tabel yang lain (baik itu tabel lokal, table variable, maupun table temporary). Misalnya, kita ingin memasukkan semua data yang memiliki kode gudang G01B pada tabel barang ke dalam tabel produk. Maka kita dapat membuat query seperti berikut :
Walaupun query ini sebenarnya dapat digunakan untuk memasukkan data dari suatu inputan (namun hanya terbatas satu inputan saja). Misalnya kita ingin menambahkan data ke tabel barang dengan kode_barang=C024,kode_gudang=G01B,nama_barang=Teh Botol. Maka kita dapat membuat query seperti berikut :
3. SELECT … INTO ….
Untuk query yang satu ini dapat kita gunakan untuk menginput data dari suatu tabel ke tabel yang lain, namun tabel tujuan belum ada/belum di-create. Biasanya query ini digunakan pada saat migrasi data maupun saat kita memerlukan sebuah tabel untuk tempat menampung data sementara dari suatu tabel. Tabel yang ter-create dari query ini akan memiliki properties yang sama persis dengan tabel sumber, baik dari jumlah kolom, tipe data kolom-kolomnya, dan lain-lainnya. Namun, tabel tujuan yang dapat di-create hanya tabel lokal dan table temporary saja (table variable tidak bisa menggunakan query ini). Misalnya, kita ingin memasukkan tabel barang ke tabel lain sebagai tempat menampung data sementara dengan spesifikasi tabel yang sama dengan tabel barang. Maka kita dapat membuat query seperti berikut :
- Tabel tujuan adalah tabel fisik :
- Tabel tujuan adalah tabel temporary global :
- Tabel tujuan adalah tabel temporary local :
Demikian penjelasan singkat mengenai 3 pola query untuk Insert data ini. Mudah-mudahan bermanfaat, selamat berkerja… 😀