You are on page 1of 10

CONTOH STORE PROCEDURE DAN FUNCTION

Masuk dalam mysql dan buat database terlebi daulu!


Enter password: ****
Welcome to the MySQL monitor. Commands end with ; or \g.
Yor MySQL connection id is !
Ser"er "ersion: #.$.%#&commnity&nt&log MySQL Commnity Edition '()L*
+ype ,help;, or ,\h, -or help. +ype ,\c, to clear the .--er.
mys/l0 create data.ase latihan1;
Qery 234 ! row a--ected '$.$$ sec*
mys/l0 se latihan1
5ata.ase changed
mys/l0 create ta.le mahasiswa'no6mhs "archar'7*4nama "archar'8#*4alamat
te9t*
&0 ;
Qery 234 $ rows a--ected '$.$7 sec*
):2CE5;:E
;nt< memdah<an dalam pem.atan store procedre dan -nction ini dapat
digna<an s/lyog.
Mem.at procedre nt< mengisi data mahasiswa.
DE"IMITER ##
DROP PROCEDURE IF E$ISTS %latian&%!%insert'data%##
CREATE PROCEDURE %latian&%!%insert'data%(n)ms *ar(+,-nama
.ar*ar(/0,-alamat .ar*ar(&1,,
2E3IN
insert int) maasis4a .alues(n)ms-nama-alamat,5
END##
DE"IMITER 5
Untuk meman66ilnya den6an *ara memasukkan 7arameter kedalam
7r)*edure yan6 tela dibuat se7erti berikut ini!
mysql8 sele*t9:r)m maasis4a5
Em7ty set (1!11 se*,
mysql8 *all insert'data(;1+0<=1=&>;-;7ur4ant;-;bantul y)6yakarta;,5
?uery O@- = r)4 a::e*ted (1!1A se*,
mysql8 sele*t9:r)m maasis4a5
BCCCCCCCCCCCBCCCCCCCCCBCCCCCCCCCCCCCCCCCCCB
D n)'ms D nama D alamat D
BCCCCCCCCCCCBCCCCCCCCCBCCCCCCCCCCCCCCCCCCCB
D 1+0<=1=&> D 7ur4ant D bantul y)6yakarta D
BCCCCCCCCCCCBCCCCCCCCCBCCCCCCCCCCCCCCCCCCCB
= r)4 in set (1!11 se*,
mysql8 *all insert'data(;1+0<=1=E>;-;ek)setia4an;-;bantul y)6yakarta;,5
?uery O@- = r)4 a::e*ted (1!11 se*,
mysql8 sele*t9:r)m maasis4a5
BCCCCCCCCCCCBCCCCCCCCCCCCCBCCCCCCCCCCCCCCCCCCCB
D n)'ms D nama D alamat D
BCCCCCCCCCCCBCCCCCCCCCCCCCBCCCCCCCCCCCCCCCCCCCB
D 1+0<=1=&> D 7ur4ant D bantul y)6yakarta D
D 1+0<=1=E> D ek)setia4an D bantul y)6yakarta D
BCCCCCCCCCCCBCCCCCCCCCCCCCBCCCCCCCCCCCCCCCCCCCB
MEM2UAT PROCEDURE UNTU@ MEN3UPDATE DATA MAHASISFA
DE"IMITER ##
DROP PROCEDURE IF E$ISTS %latian&%!%u7date'maasis4a%##
CREATE PROCEDURE %latian&%!%u7date'maasis4a%(nim *ar(+,-na
.ar*ar(/0,-almt .ar*ar(A0,,

2E3IN
u7date maasis4a set namaGna - alamatGalmt 4ere n)'msGnim5
END##
DE"IMITER 5
Untuk meman66il 7r)*edure tersebut da7at dilakukan se7erti ini
mysql8 sele*t9:r)m maasis4a5
BCCCCCCCCCCCBCCCCCCCCCCCCCBCCCCCCCCCCCCCCCCCCCB
D n)'ms D nama D alamat D
BCCCCCCCCCCCBCCCCCCCCCCCCCBCCCCCCCCCCCCCCCCCCCB
D 1+0<=1=&> D 7ur4ant D bantul y)6yakarta D
D 1+0<=1=E> D ek)setia4an D bantul y)6yakarta D
BCCCCCCCCCCCBCCCCCCCCCCCCCBCCCCCCCCCCCCCCCCCCCB
/ r)4s in set (1!11 se*,
Disini akan men6uba nama dan alamat dari maasis4a yan6 bernama
7ur4ant-
Men66anti nama menHadi 7ur4ant) dan alamatnya di sleman H)6Hakarta!
Untuk melakukannya da7at den6an *ara meman66il 7r)*edure
u7date'maasis4a seba6ai berikut!
mysql8 *all u7date'maasis4a(;1+0<=1=&>;-;7ur4ant);-;sleman H)6Hakarta;,5
?uery O@- = r)4 a::e*ted (1!11 se*,
Hasilnya adala seba6ai berikut!
mysql8 sele*t9:r)m maasis4a5
BCCCCCCCCCCCBCCCCCCCCCCCCCBCCCCCCCCCCCCCCCCCCCB
D n)'ms D nama D alamat D
BCCCCCCCCCCCBCCCCCCCCCCCCCBCCCCCCCCCCCCCCCCCCCB
D 1+0<=1=&> D 7ur4ant) D sleman H)6Hakarta D
D 1+0<=1=E> D ek)setia4an D bantul y)6yakarta D
BCCCCCCCCCCCBCCCCCCCCCCCCCBCCCCCCCCCCCCCCCCCCCB
/ r)4s in set (1!11 se*,
MEM2UAT PROCEDURE UNTU@ MEN3HAPUS MAHASISFA
Tambakan data seba6ai berikut
mysql8 *all insert'data(;111;-;6k Helas;-;belum 7unya;,5
?uery O@- = r)4 a::e*ted (1!11 se*,
mysql8 sele*t9:r)m maasis4a5
BCCCCCCCCCCCBCCCCCCCCCCCCCBCCCCCCCCCCCCCCCCCCCB
D n)'ms D nama D alamat D
BCCCCCCCCCCCBCCCCCCCCCCCCCBCCCCCCCCCCCCCCCCCCCB
D 1+0<=1=&> D 7ur4ant) D sleman H)6Hakarta D
D 1+0<=1=E> D ek)setia4an D bantul y)6yakarta D
D 111 D 6k Helas D belum 7unya D
BCCCCCCCCCCCBCCCCCCCCCCCCCBCCCCCCCCCCCCCCCCCCCB
Pr)*edure a7us data maasis4a
DE"IMITER ##
DROP PROCEDURE IF E$ISTS %latian&%!%a7us'ms%##
CREATE PROCEDURE %latian&%!%a7us'ms%(nim *ar(+,,

2E3IN
delete :r)m maasis4a 4ere n)'msGnim5
END##
DE"IMITER 5
untuk men6a7us data maasis4a da7at dilakukan den6an *ara
memasukkan n)'ms yan6 akan dia7us 7ada 7arameter!
C)nt)I
mysql8 sele*t9:r)m maasis4a5
BCCCCCCCCCCCBCCCCCCCCCCCCCBCCCCCCCCCCCCCCCCCCCB
D n)'ms D nama D alamat D
BCCCCCCCCCCCBCCCCCCCCCCCCCBCCCCCCCCCCCCCCCCCCCB
D 1+0<=1=&> D 7ur4ant) D sleman H)6Hakarta D
D 1+0<=1=E> D ek)setia4an D bantul y)6yakarta D
D 111 D 6k Helas D belum 7unya D
BCCCCCCCCCCCBCCCCCCCCCCCCCBCCCCCCCCCCCCCCCCCCCB
Ha7us maasis4a den6an n)'ms 111!
mysql8 *all a7us'ms(;111;,5
?uery O@- = r)4 a::e*ted (1!11 se*,
Hasilnya menHadi
mysql8 sele*t9:r)m maasis4a5
BCCCCCCCCCCCBCCCCCCCCCCCCCBCCCCCCCCCCCCCCCCCCCB
D n)'ms D nama D alamat D
BCCCCCCCCCCCBCCCCCCCCCCCCCBCCCCCCCCCCCCCCCCCCCB
D 1+0<=1=&> D 7ur4ant) D sleman H)6Hakarta D
D 1+0<=1=E> D ek)setia4an D bantul y)6yakarta D
BCCCCCCCCCCCBCCCCCCCCCCCCCBCCCCCCCCCCCCCCCCCCCB
/ r)4s in set (1!11 se*,
FUNCTION
Mem.at -ngsi nt< menampil<an alamat mahasiswa.
5EL=M=+E: >>
5:2) ?;@C+=2@ =? EA=S+S Blatihan1B.Bce<alamatB>>
C:EC+E ?;@C+=2@ Blatihan1B.Bce<alamatB'nim char'7**
:E+;:@S te9t

DE(=@
declare almt te9t;
select alamat into almt -rom mahasiswa where no6mhsEnim;
retrn almt;
E@5>>
5EL=M=+E: ;
5idalam -nction mys/l declare merpa<an tempat menampng hasil dari
perintah /ery4 <arena didalam -nction hanya a<an mengem.ali<an se.ah
nilai. Ma<a perintah select diatas dimas<<an dalam declare alamat4 yait pada
perintah select alamat into.
;nt< memanggil -cntion terse.t dapat dila<<an dengan cara seperti .eri<t.
mys/l0 select ce<alamat',$7#%!$!1F,*;
G&&&&&&&&&&&&&&&&&&&&&&&&G
H ce<alamat',$7#%!$!1F,* H
G&&&&&&&&&&&&&&&&&&&&&&&&G
H sleman IogIa<arta H
G&&&&&&&&&&&&&&&&&&&&&&&&G
! row in set '$.$$ sec*
)erintah -nction hanya a<an mengem.ali<an se.ah nilai sehingga dapat
dimas<<an pada /ery .iasa nt< mengece< alamat mahasiswa.
Seperti contoh .eri<t ini.
mys/l0 select nama4ce<alamat'no6mhs* -rom mahasiswa;
G&&&&&&&&&&&&&G&&&&&&&&&&&&&&&&&&&G
H nama H ce<alamat'no6mhs* H
G&&&&&&&&&&&&&G&&&&&&&&&&&&&&&&&&&G
H prwanto H sleman IogIa<arta H
H e<osetiawan H .antl yogya<arta H
G&&&&&&&&&&&&&G&&&&&&&&&&&&&&&&&&&G
8 rows in set '$.$$ sec*
Setiap no6mhs a<an memili<i nilai <em.alian .erpa alamat.
CONTOH PROCEDURE DAN FUNCTION PERHITUN3AN
)rocedre penImlahan tanpa parameter
5EL=M=+E: >>
5:2) ):2CE5;:E =? EA=S+S Blatihan1B.Btam.ahB>>
C:EC+E ):2CE5;:E Blatihan1B.Btam.ahB'*
DE(=@
select FG7;
E@5>>
5EL=M=+E: ;
mys/l0 call tam.ah;
G&&&&&G
H FG7 H
G&&&&&G
H !J H
G&&&&&G
! row in set '$.$$ sec*
Qery 234 $ rows a--ected '$.$$ sec*
)rocedre operasi perhitngan sederhana dengan da .ah parameter
5EL=M=+E: >>
5:2) ):2CE5;:E =? EA=S+S Blatihan1B.BhitngB>>
C:EC+E ):2CE5;:E Blatihan1B.BhitngB'a int4. int*
DE(=@
select aG.4a&.4a*.4aK.;
E@5>>
5EL=M=+E: ;
mys/l0 call hitng'!14%*;
G&&&&&&G&&&&&&G&&&&&&G&&&&&&&&G
H aG. H a&. H a*. H aK. H
G&&&&&&G&&&&&&G&&&&&&G&&&&&&&&G
H 8$ H !8 H 1% H %.$$$$ H
G&&&&&&G&&&&&&G&&&&&&G&&&&&&&&G
! row in set '$.$$ sec*
Qery 234 $ rows a--ected '$.$! sec*
Mem.at -nction nt< menghitng
5EL=M=+E: >>
5:2) ?;@C+=2@ =? EA=S+S Blatihan1B.BhitngB>>
C:EC+E ?;@C+=2@ Blatihan1B.BhitngB'a int4. int*
:E+;:@S int
DE(=@
retrn aG.;
E@5>>
5EL=M=+E: ;
mys/l0 select hitng'741*;
G&&&&&&&&&&&&&G
H hitng'741* H
G&&&&&&&&&&&&&G
H !# H
G&&&&&&&&&&&&&G
! row in set '$.$$ sec*
:e-erensi
& Mys/l re-erence manal
;@+;3 )EMDCLCSC@ ):C3+=3;M S=LCL3C@ DCLCS +E@+C@(
):2CE5;:E )C5C ):C3+=3;M 5=C@+C:C@YC SEDC(C= DE:=3;+.
5EL=M=+E: >>
5:2) ):2CE5;:E =? EA=S+S B.an<B.Bisi6saldoB>>
C:EC+E ):2CE5;:E B.an<B.Bisi6saldoB'norec< "archar'!$*4Imlah int*

DE(=@
pdate saldo6nasa.ah set Imlah6saldoEImlah6saldo G Imlah;
E@5>>
5EL=M=+E: ;
5EL=M=+E: >>
C:EC+E ):2CE5;:E Btrans-erB'pengirim "archar'!$*4penerima
"archar'!$*4Imlah6<irim int*
DE(=@
pdate saldo6nasa.ah set Imlah6saldoEImlah6saldo G Imlah6<irim
where no6rec<Epenerima;
pdate saldo6nasa.ah set Imlah6saldoEImlah6saldo & Imlah6<irim
where no6rec<Epengirim;
insert into trans-er "ales 'pengirim4penerima4Imlah6<irim4date'now'***;
E@5>>
5EL=M=+E: ;
5EL=M=+E: >>
C:EC+E ):2CE5;:E Btam.ah6nsa.ahB'norec< "archar'!$*4nm
"archar'%$*4almt "archar'J$*4Ienis char'!**

DE(=@
insert into nasa.ah "ale'norec<4nm4almt4Ienis*;
insert into saldo6nasa.ah "ale'norec<48$$$$$*;
E@5>>
5EL=M=+E: ;.an<
5EL=M=+E: >>
C:EC+E ?;@C+=2@ Bce<saldoB'norec< "archar'!$**
:E+;:@S int'!!*
DE(=@
declare saldo int;
select Imlah6saldo into saldo -rom saldo6nasa.ah where no6rec<Enorec<;
retrn saldo;
E@5>>
5EL=M=+E: ;
select nama6nasa.ah 4ce<saldo'no6rec<* -rom nasa.ah;
MELCS3C@ ):2CE5;:E 5C@ ?;@C+=2@
5=C+CSDESE:+C C@CL=S=S LCS=L 5C:= E3SE3;S=
S+2:E5):2CE5;:E 5C@ ?;@C+=2@ +E:SED;+
NNNNN

You might also like