Insert data ke dalam 2 table dalam satu waktu

Php-Development
Ada banyak cara untuk menyimpan data kedalam dua tabel atau lebih dalam sekali proses atau hanya dengan satu statement.  biasanya para programmer mencari solusinya dengan menggunakan cara trigger, yaitu trigger bersamaan dengan perintah insert akan melakukan query ke tabel lain dan mengembalikan nilai logik yang membantu membatasi data yang diberikan kepada kolom tertentu.

Namun dalam perkembangannya, Insert Statement saat ini memiliki sub-klausa OUTPUT. dengan memanfaatkan sub-klausa OUTPUT tersebut kita dapat membuat 1 buah statement insert yang dapat melakukan insert data ke 2 buah tabel sekaligus.

Misalkan kita mempunyai 2 tabel yaitu tabel pendaftaran dengan nama TPendaftaran dan tabel detail pendaftaran dengan nama TDetailPendaftaran. Tabel TPendaftaran memiliki field No_Pendaftaran, Tgl_Pendaftaran, Nama_Calon dan tabel detail pendaftaran memiliki field No_Pendaftaran,Kode_Jurusan,rata_nilai_un.

Dengan 1 statement dibawah ini kita bisa memasukkan (insert) data kedalam tabel TPendaftaran dan TDetailPendaftaran sekaligus tanpa harus membuat trigger. Berikut contohnya:

 

INSERT INTO TPendaftaran (No_Pendaftaran, Tgl_Pendaftaran, Nama_Calon)
OUTPUT INSERTED.'201406001', '121','8.0'
INTO TDetailPendaftaran (No_Pendaftaran, Kode_Jurusan, rata_nilai_un)
VALUES  ('201406001','24-05-2014','Siti');