Keranjang Coding : product


?>

Insert Data Ke Tabel Dengan Store Procedure Di Mysql





Assalamualaikum warahmatullahi wabarakatuh

Pada kesempatan kali ini saya ingin menjelaskan bagaimana cara nya menginsert data ke databse menggunakan store procedure dari DBMS Mysql. 

Untuk melakukan retrieving suatu data dalam table, kita bisa menggunakan stored procedure. Stored Procedure ini sebaiknya digunakan apabila database server terpisah secara fisik dengan aplikasi atau disebut aplikasi Multi Tier. Dengan mengggunakan stored procedure SQL tidak akan akan melakukan loading semua table yang ter-relasi, tetapi langsung melakukan filtering berdasarkan query yang kita maksud. Stored procedure menyimpan statement-statement SQL dalam sebuah berkas yang disimpan di database server, sehingga dari sisi performa eksekusi, utilitas jaringan, dan keamanan, stored procedure banyak dipakai sebagai solusi akses data.

Setiap kali Query Processing menjalankan query, gambaran prosesnya sbb:
1. Pengecekan Syntax
2. Pemilihan execution plan yang paling optimal
3. Eksekusi query

Query yang ada di SP sudah di-compile terlebih dahulu, jadi ada 1 step yang di-skip pada SP. Compile maksudnya adalah pemilihan mana execution plan yang paling optimal.

Keuntungan menggunakan Stored Procedure :
– Stored Procedure lebih fleksibel karena ada parameter didalamnya
– Proses dilakukan di Database Server sehingga lebih cepat, aplikasi cukup memanggil stored
procedure dan mengirim parameter yang diperlukan
– untuk membagi beban resource yang terpakai saat aplikasi di jalankan. Jika semua query dijalankan pada aplikasi/client (Front End) maka resource yang terpakai pada client tersebut akan besar, oleh karena itu perintah query tersebut dibuat pada stored procedure (eksekusi pada server)
– untuk mempermudah maintain aplikasi. Apabila ada proses query yang sama dan berulang, dengan stored procedure akan lebih simple dalam proses pembuatan aplikasi.
– Mendukung ANSI model terhadap database. Ansi model adalah sebuah model database yang memodelkan penglihatan user terhadap database menjadi 3 komponen yaitu user view, logical view dan fisikal view
– Stored procedure mencegah terjadinya SQL injection

Kekurangannya :
Apabila ingin mengganti Database Server, misalnya dari Oracle ke SQL
Server, porting Stored Procedurenya menyulitkan, antara PL SQL ke T-SQL. Berbeda jika embedded di Aplikasi, kita cukup mengganti Koneksinya karena Logicnya dilakukan di Aplikasi dan menggunakan SQL Standard.

Mari kita mulai langkah langkah menginsert table dengan store procedure.

Kita bisa membuat prosedur tersimpan dengan operator IN untuk memasukkan nilai dalam tabel MySQL. Untuk membuatnya, saya mengambil contoh tabel bernama 'info_mahasiswa' yang memiliki data sebagai berikut:

mysql> Select * from info_mahasiswa;
+------+---------+------------+------------+
| id   |nama     | alamat     | agama      |
+------+---------+------------+------------+
| 1    | Lina    | Medan      | Islam      |
| 2    | Dewi    | Jakarta    | Kristen    |
| 3    | Agus    | Padang     | Budha      |
| 4    | Ahmad   | Bogor      | Islam      |
+------+---------+------------+------------+
4 rows in set (0.00 sec)

Sekarang, kita membuat prosedur bernama 'insert_mahasiswa' sebagai berikut, kita dapat menyisipkan nilai-nilai dalam tabel 'info_mahasiswa' :

mysql> DELIMITER // ;
mysql> Create PROCEDURE insert_mahasiswa(IN p_id int, IN p_nama varchar(20),IN p_alamat Varchar(20), IN p_agama Varchar(20))
    -> BEGIN
    -> insert into info_mahasiswa(id, nama, alamat, agama) values (p_id, p_nama,p_alamat, p_agama);
    -> END //
Query OK, 0 rows affected (0.09 sec)

 

Sekarang, jalan prosedur dengan nilai yang ingin kita masukkan dalam tabel sebagai berikut:

mysql> CALL insert_mahasiswa(5,'Maul','Medan','Islam')//
Query OK, 1 row affected (0.78 sec)

mysql> DELIMITER ; //

mysql> Select * from info_mahasiswa;
+------+---------+------------+------------+
| id   | Nama    | Alamat     | Agama      |
+------+---------+------------+------------+
| 1    | Lina    | Medan      | Islam      |
| 2    | Dewi    | Jakarta    | Kristen    |
| 3    | Agus    | Padang     | Budha      |
| 4    | Ahmad   | Bogor      | Islam      |
| 5    | Maul    | Medan      | Islam      | 
+------+---------+------------+------------+

5 rows in set (0.00 sec)

 

Jadi hasil inputan diatas menunjukan bahwasannya data dapat diinputkan ke dalam table.

Sekian untuk pembahasan kali ini, semoga bermanfaat dan kunjungi terus matadeveloper untuk mendapatkan informasi terupdate, terima kasih...

Tags : database mysql

Sekilas Tentang Penulis


Kharisma Maulana Pasaribu,ST
Software Engineer | Fullstack Developer | Founder of Matadeveloper.com



Prev Post
Remember Me Javascript Form Login
Next Post
Mengenal Tags Pada Html