Stored procedure mysql adalah

Tutorial Hari Ini
Pengantar Stored Procedure
Membuat Dan Menjalankan Stored Procedure
Menghapus Stored Procedure
Pembahasan Materi Selanjutnya
Penutup

Pengantar Stored Procedure

Cara membuat Stored Procedure di MySQL adalah wajib dikuasai oleh seorang proggrammer, jika dapat menguasai stored procedure akan dapat membuat lebih efisien dalam pembuatan code program.  Halo sahabat semua, apa khabar? pada tutorial hari ini merupakan kelanjutan dari tutorial sebelumnya yaitu pembahasan tentang bagaimana cara membangun relasi tabel serta cara menggabungkan beberapa tabel dengan perintah Inner join, Left Join, dan Right Join.

Jadi, Apa yang dimaksud stored procedure (prosedur tersimpan) di MySQL?

Stored procedure merupakan sekumpulan dari perintah-perintah SQL yang tersimpan dalam suatu database, pada umumnya digunakan pada perintah DML(select, insert, update, dan delete). Pada sebuah stored procedure dapat diberikan parameter sesuai dengan kebutuhan, sehingga dengan menerapkan stored procedure yang disimpan idalam suatu database program aplikasi akan dapat digunakan lebih dinamis berdasarkan parameter yang diberikan, juga stored procedure dapat dikombinasikan dengan fungsi-fungsi pernyataan bersyarat dan berkondisi seperti fungsi IF, While. 

Apa tujuannya dari stored procedure? Salah satu tujuan atau kegunaan dari stored procedure, yaitu untuk mengefisienkan pembuatan code program pada suatu bahasa pemrograman ketika akan membuat program CRUD(Create, Read, Update, Delete) menggunakan database MySQL. Stored procedure dibuat dan disimpan hanya satu kali pada sebuah database, selanjutnya dapat dipanggil kembali, sehingga prosedur dengan nama yang sama dalam program dapat lebih cepat dieksekusi. Jenis perintah-perintah dalam stored procedure meliputi menambah data(insert), mengubah data (update), menghapus data(delete), dan memilih/menyeleksi data (select).

Beberapa kelebihan menggunakan stored procedure:

  1. Performa program aplikasi akan lebih baik, pada sebuah program aplikasi yang menerapkan Stored Procedure kemudian dikompilasi  dan disimpan di cache memory selanjutnya dapat digunakan lagi. Hal ini membuat waktu akan lebih cepat ketika stored procedure dengan nama yang sama dieksekusi kembali.
  2. Dari sisi keamanan akan lebih meningkat, bila sebuah aplikasi memanfaatkan pernyataan query atau sql dibuat dengan stored procedure program aplikasi tersebut dapat menghindari serangan terhadap injection SQL.
  3. Dapat menghindari penulisan code program yang berulang-ulang.

Membuat Dan Menjalankan Stored Procedure 

Untuk membuat prosedur tersimpan (stored procedure) tidak lepas dari perintah-perintah DML (Data Manifulation Language) atau statement SQL. Secara umum aturan penulisannya, sbb:

Sintaks:
DELIMITER $$
CREATE PROCEDURE nama_prosedur()
BEGIN
    perintah_sql
END$$

DELIMITER ;

Untuk menjalankan atau memanggil stored procedure Sintaksnya, sbb:

call nama_prosedur()

Agar dapat lebih mudah dipahami ikuti langkah-langkah latihan berikut ini. Dari dialog layar Laragon, klikØ MenuØ MySQLØ Start MySQL, selanjutnya klik Terminal.

Ketik perintah-perintah sql pada terminal, sbb:

Latihan1: Penerapan perintah DML-Select.

Buka database puskesmas_db,selanjutnya tampilkan semua data obat dari tabel obat.

use puskesmas_db

DELIMITER $$
CREATE PROCEDURE DaftarObat()
BEGIN
    SELECT * FROM obat;
END$$
DELIMITER $$

Selanjutnya jalankan: call DaftarObat()

Latihan2: Penerapan perintah DML-Select. Berdasarkan field yang dipilih.

Selanjutnya tampilkan data obat berdasarkan field yang dipilih  kode_obat,nama_obat, kemasan, harga_obat dari tabel obat.

Perintahnya:

DELIMITER $$

CREATE PROCEDURE DaftarHarga()
BEGIN
    SELECT kode_obat,nama_obat,kemasan,harga_obat

    FROM obat

END$$

DELIMITER ;
Jalankan: call DaftarHarga()

Latihan3: Penerapan perintah DML-SelectDengan menggunakan kondisi.

tampilkan data obat untuk field kode_obat,nama_obat,jenis,harga_obat dari tabel obat, berdasarkan harga_obat di bawah lima puluh ribu rupiah.

Perintahnya:

DELIMITER $$
CREATE PROCEDURE DaftarHargaDenganKondisi()
BEGIN
    SELECT kode_obat,nama_obat,jenis,harga_obat
    FROM obat
    WHERE harga_obat<50000;

END$$

DELIMITER ;

Jalankan: call DaftarHargaDenganKondisi()

Latihan4: Penerapan perintah DML-Select. Dengan menggunakan kondisi dan parameter.

tampilkan data obat untuk field kode_obat,nama_obat,jenis,harga_obat dari tabel obat, untuk harga_obat berdasarkan kondisi dan parameter untuk berbagai nilai yang dibawah ditentukan oleh user. Perintahnya:

DELIMITER $$

CREATE PROCEDURE DaftarHargaBerparameter(kondisiHarga int)

BEGIN

    select kode_obat,nama_obat,jenis,harga_obat

    from obat

    where harga_obat<kondisiHarga;

END$$

DELIMITER ;

Pengujian-1: call DaftarHargaBerparameter(25000)

Pengujian-2: call DaftarHargaBerparameter(50000)

Pengujian-3: call DaftarHargaBerparameter(150000)

Latihan5: Penerapan perintah DML-Insert

Perintah insert berfungsi untuk menambah data/record, biasanya perintah insert  banyak diterapkan ketika membuat CRUD pada sebuah bahasa pemrograman, untuk penggunaan secara interaktif atau langsung ikuti perintah-perintah berikut ini.

Perintahnya:

DELIMITER $$

CREATE PROCEDURE INSERTPengguna(

nip INT(10),pass CHAR(10),level_user VARCHAR(10)

)

BEGIN

    INSERT INTO pengguna 

    VALUES (nip, pass, level_user);

END$$

Pengujian: CALL INSERTPengguna(5,'414','Laporan');

Untuk contoh tabel Dokter:

DELIMITER $$
CREATE PROCEDURE DokterINSERT(kode_dok Char(10),

nama_dok varchar(25),kelamin char(15),spesialis varchar(30),

alamat_dok varchar(50),kota_dok varchar(15),telp_dok varchar(30),

email varchar(50))
BEGIN
INSERT INTO dokter VALUES (kode_dok,nama_dok,kelamin,spesialis, alamat_dok,kota_dok,telp_dok,email);
END$$
Pengujian:CALL DokterINSERT('D0005','Darmayuda','Pria','Penyakit Dalam' ,'Jl. ABG No.100','Bandung','Bandung','022-78654321', '');

Latihan6: Penerapan perintah DML-Update

Perintah update berfungsi untuk mengubah data/record, sama dengan perintah insert  perintah update banyak diterapkan ketika membuat CRUD pada sebuah bahasa pemrograman.

Perintahnya:

DELIMITER $$

CREATE PROCEDURE DokterUPDATE(kode_dok char(10),nama_dok varchar(25),

kelamin char(15),spesialis varchar(30), alamat varchar(50),

kota char(15),telpon varchar(30),email varchar(50))

BEGIN

UPDATE dokter SET nama_dok=nama_dok,kelamin=kelamin,

spesialis=spesialis,alamat=alamat,kota=kota,telpon=telpon,

email=email

WHERE kode_dok=kode_dok;

END$$

DELIMITER ;

Latihan7: Penerapan perintah DML-Delete

Perintah delete berfungsi untuk menghapus data / record, sama dengan perintah insert  dan update banyak diterapkan ketika membuat CRUD pada sebuah bahasa pemrograman.

Perintahnya:

DELIMITER $$

CREATE PROCEDURE DokterDELETE(kode_dok char(10))

BEGIN

 DELETE FROM dokter WHERE kode_dok=kode_dok;

END$$

DELIMITER ;

Catatan: untuk pengujian perintah Update & Delete dapat diterapkan pada program aplikasi.

Menghapus Stored Procedure

Pada perintah-perintah stored procedure yang sudah dibuat kadang-kadang sudah tidak diperlukan lagi untuk hal tersebut stored procedure  harus di hapus. Untuk menghapus nama stored procedure perintahnya, sbb:

Sintaks:
drop procedure nama_prosedur();

Contoh: drop procedure DaftarHarga();

Menampilkan Nama-nama Stored Procedure

Kadang kala bagi seorang user atau programmer setelah membuat sekian stored procedure tentunya tidak mudah untuk diingat jika tidak memiliki daftar catatan tersendiri.

Berikut adalah aturan penulisan untuk menampilkan daftar nama-nama dari stored procedure yang telah dibuat pada suatu database yang digunakan.

Sintaks:

SELECT routine_name, routine_type, routine_schema

FROM information_schema.routines

WHERE routine_type = ‘PROCEDURE’ AND

      routine_schema = ‘database_name’;

Keterangan :

routine_name, artinya nama dari stored procedure.

routine_type, artinya pada kasus ini stored procedure yang nilainya “PROCEDURE“.

routine_schema, artinya menunjukkan nama database stored procedure tersebut tersimpan.

Latihan:
SELECT routine_name, routine_type, routine_schema
FROM information_schema.routines
WHERE routine_type = 'PROCEDURE' AND routine_schema = 'puskesmas_db';

Hasilnya, sbb:

Materi Selanjutnya

Penutup

Sekian pembahasan tutorial hari ini, tentang pembuatan stored procedure seperti penerapan pada perintah-perintah DML(Insert, Update, Delete, serta select). Selanjutnya akan dibahas cara pembuatan triggerSekian dan terima kasih sudah mengikuti terus tutorial ini, semoga bermanfaat, syalam penulis.

Apa itu stored procedure MySQL?

Stored Procedure adalah sebuah prosedur layaknya subprogram (subrutin) di dalam bahasa pemrograman reguler yang tersimpan di dalam katalog basis data. Beberapa kelebihan yang ditawarkan stored procedure antara lain : mengingkatakan performa, mereduksi trafik jaringan, reusable, dan meningkatkan kontrol sekuriti.

Jelaskan apa yang dimaksud dengan stored procedure?

Stored procedure ini merupakan suatu blok program yang dapat dipanggil secara berulang-ulang dalam bentuk script. Dengan menggunakan stored procedure maka seluruh aplikasi akan terdistribusi dan ketika mengeksekusi satu perintah CALL aplikasi dapat langsung membentuk sejumlah task yang dapat berjalan di dalam server.

Apa yang dimaksud dengan perintah store procedure dan buat contoh dari store prosedure?

Stored procedure adalah salah satu objek routine yang tersimpan pada database MySQL dan dapat digunakan untuk menggantikan berbagai kumpulan perintah yang sering kita gunakan, seperti misalkan sejumlah row ke table lain dengan filter tertentu.

Tuliskan apa saja yang mampu dilakukan oleh store procedure?

Stored Procedure di SQL Server..
Mengakses data JSON Menggunakan Javascript..
Menampilkan JSON Dengan PHP..
CRUD Sederhana PHP dan SQL Server..
CRUD Sederhana Dengan CodeIgniter..
SAP ABAP - ALV Grid WIth Simple OOP Implementation..
Mengenal RestfulAPI..

Postingan terbaru

LIHAT SEMUA