Stored procedure

12
Ade Putra, M.Kom. UNIVERSITAS BINA DARMA 2011 Stored Procedure

Transcript of Stored procedure

Page 1: Stored procedure

Ade Putra, M.Kom.

UNIVERSITAS BINA DARMA

2011

Stored Procedure

Page 2: Stored procedure

Procedure Tersimpan (Stored Procedure)

Pada prosedur tersimpan sama halnya dengan fungsi

tersimpan yang digunakan untuk meringkas perintah

mysql yang akan dijalankan, namun pada prosedur

tersimpan ini tidak harus mengembalikan nilai seperti

yang terjadi pada fungsi tersimpan

Structur :

CREATE PROCEDURE nama_prosedur ([variabel_parameter[…..]])

Begin

………….

isi_prosedure

………….

END

Variabel_parameter

[ IN | OUT | INOUT] nama_variabel tipe_variabel

Page 3: Stored procedure

Pada prosedur tersimpan, sebuah variabel parameter

dibedakan menjadi 3 pilihan :

1. IN yang berarti bahwa variabel parameter hanya dapat

digunakan untuk menerima input. Tipe IN merupakan

nilai default dari variabel parameter

2. OUT yang menandakan bahwa variabel parameter

hanya dapat digunakan untuk menyimpan hasil output

3. INOUT yang berarti bahwa variabel parameter dapat

menerima input dan juga dapat digunakan untuk

menyimpan hasil output

Page 4: Stored procedure

Contoh 1 penggunaan prosedur tersimpan :

1. Buatlah tabel dengan data sebagai berikut dan tentukan

tipedata serta panjang karakternya sendiri(nama tabel

karyawan)

nik nama alamat kota jeniskelamin

101 Ari Jl. Pusri Jakarta Pria

102 Agus Jl. Kertapati Bandung Pria

103 Nia Jl. Plaju Bandung Wanita

104 Iman Jl. KM12 Bandung Pria

105 Wina Jl. Sako Jakarta Wanita

106 Feri Jl. Borang Bandung Pria

107 Yayat Jl. Bukit Jakarta Pria

Page 5: Stored procedure

2. Buatlah prosedur sebagai berikut :

Mysql > DELIMETER //

Mysql > CREATE PROCEDURE prosedur1 (a char(35), OUT b INT)

-> BEGIN

-> SELECT COUNT(kota) INTO b FROM karyawan

-> WHERE kota = a;

-> END

-> //

Mysql> DELIMITER ;

3. Buatlah perintah untuk menjalankan fungsi tersebut diatas

Mysql> call prosedur1(‘jakarta’,@b);

Mysql> select @b;Pada perintah diatas akan memanggil prosedur1 yang terlebih dahulu sudah

dibuat ketentuannya yaitu untuk menghitung karyawan yang tinggal di

jakarta.

Page 6: Stored procedure

Contoh 2 penggunaan prosedur tersimpan :

Mysql> DELIMITER //

Mysql> CREATE PROCEDURE prosedur2(a INT, b CHAR(60), c VARCHAR(100),

d CHAR(10), e CHAR(10))

-> BEGIN

-> INSERT INTO karyawan(nik,nama,alamat,kota,jeniskelamin)

-> VALUES (a,b,c,d,e);

-> END

-> //

Untuk menjalankan prosedur diatas lakukan pemanggilan sebagai berikut :

Mysql> CALL prosedur2(‘108’,’nama_anda’,’alamat_anda’,’kota’,’jenkel anda’);

Maka secara otomatis perintah call prosedur2 akan sama halnya dengan perintah

insert into dimana, data akan dimasukkan kedalam tabel karyawan

Page 7: Stored procedure

Latihan store procedureBuat database penjualan sebagai berikut :

1. Buat tabel barang dengan struktur berikut

CREATE TABLE barang (kd_brg CHAR(5),

nm_brg CHAR(20),

stok int,

satuan CHAR(20),

harga int,

primary key (kd_brg));

Kemudian lakukan pengisian ke tabel dengan data berikut :

INSERT INTO barang VALUES('K0001','Buku ',100,'Pcs',5000);

INSERT INTO barang VALUES('K0002','Pesil 2B',200,'Pcs',3000);

INSERT INTO barang VALUES('K0003','Pengahpus',100,'Pcs',1000);

INSERT INTO barang VALUES('K0004','Kertas HVS',200,'Rem',30000);

INSERT INTO barang VALUES('K0005','Gunting kecil',10,'Pcs',6000);

Page 8: Stored procedure

2. Buat table jual dengan struktur berikut :

CREATE TABLE jual (no_nota char(4),

tgl date,

kd_brg CHAR(5),

jumlah int);

3. Membuat procedure untuk simpan_jual untuk menggantikan perintah insert

into ke table jual

Page 9: Stored procedure

4. Membuat procedure mengurangi stok pada table barang secara otomatis

5. Kemudian lakukan pengisian data ke table jual dengan memanggil

procedure simpan_jual

Page 10: Stored procedure

Buat trigger untuk memback up data secara otomatis ke tabel

jual_backup apabila kita melakukan insert data ke table jual

Page 11: Stored procedure

Buat trigger untuk melakukan penghapusan otomatis di

jual dan table jual_backup

Page 12: Stored procedure