Perbedaannya dengan stored procedure adalah store function biasanya ditujukan untuk mengerjakan proses yang akan mengembalikan nilai. Stored function tidak dapat memroses ( berisi ) query data
Seperti “select ………………”, kecuali dengan mekanisme cursor. Sedangkan untuk perintah delete dan update masih bisa.
/*stored function mengambil data gaji karyawan berdasarkan jabatannya*/
Delimiter$$
drop function if exists gaji$$
Create function gaji(jabatan char(1))
returns int
Begin
If (lower(jabatan)=’a') then
return 3000000;
Elseif (lower(jabatan)=’b') then
return 2000000;
Elseif (lower(jabatan)=’c') then
return 1000000;
Else
return 500000;
End if;
End$$
Delimiter;
Sekedar tambahan : function dapat dipanggil dari sebuah stored procedure ataupun dari dalam trigger.
Catatan : di dalam stored function hanya diperbolehkan untuk melewatkan parameter input ( tanpa diawali clause “in” ).
Implementasi type data enum dan set
Delimiter$$
drop function if exists keputusan$$
Create function keputusan(opsi char(1))
returns enum(‘pasti’,'tidak pasti’,'mungkin’)
Begin
If (lower(opsi)=’a') then
return ‘pasti’;
Elseif (lower(opsi)=’b') then
return ‘tidak pasti’;
Else
return ‘mungkin’;
End if;
End$$
Delimiter;
Catatan : type data enum merupakan set data, perbedaannya dengan type set adalah type set mendukung untuk pemberian nilai ganda. Missal set datanya ‘pasti’,’tidak pasti’,’mungkin’ boleh untuk diset ketiga – tiganya pada sebuah variable set.
Contoh:
declare keputusan enum(‘pasti’,’tidak pasti’,’mungkin’);
set keputusan=’pasti,tidak pasti’;
Implementasi clause “case” … “end case”
Delimiter$$
drop function if exists doorprize$$
Create function doorprize(status_pelanggan char(10), saldo float)
returns char(12)
Begin
declare diskon float;
CASE status_pelanggan
WHEN ‘PLATINUM’ THEN
Set diskon=0.1*saldo;
WHEN ‘GOLD’ THEN
Set diskon=0.05*saldo;
WHEN ‘SILVER’ THEN
Set diskon=0.02*saldo;
WHEN ‘BRONZE’ THEN
Set diskon=0.01*saldo;
END CASE;
Return format(diskon,2);
End$$
Delimiter;
Catatan : fungsi format berguna untuk merubah pemisah ribuan pada nilai diskon dengan 2 digit decimal. Nilai yang dikembalikan berubah menjadi string.
sumber : http://yora15.wordpress.com
Seperti “select ………………”, kecuali dengan mekanisme cursor. Sedangkan untuk perintah delete dan update masih bisa.
/*stored function mengambil data gaji karyawan berdasarkan jabatannya*/
Delimiter$$
drop function if exists gaji$$
Create function gaji(jabatan char(1))
returns int
Begin
If (lower(jabatan)=’a') then
return 3000000;
Elseif (lower(jabatan)=’b') then
return 2000000;
Elseif (lower(jabatan)=’c') then
return 1000000;
Else
return 500000;
End if;
End$$
Delimiter;
Sekedar tambahan : function dapat dipanggil dari sebuah stored procedure ataupun dari dalam trigger.
Catatan : di dalam stored function hanya diperbolehkan untuk melewatkan parameter input ( tanpa diawali clause “in” ).
Implementasi type data enum dan set
Delimiter$$
drop function if exists keputusan$$
Create function keputusan(opsi char(1))
returns enum(‘pasti’,'tidak pasti’,'mungkin’)
Begin
If (lower(opsi)=’a') then
return ‘pasti’;
Elseif (lower(opsi)=’b') then
return ‘tidak pasti’;
Else
return ‘mungkin’;
End if;
End$$
Delimiter;
Catatan : type data enum merupakan set data, perbedaannya dengan type set adalah type set mendukung untuk pemberian nilai ganda. Missal set datanya ‘pasti’,’tidak pasti’,’mungkin’ boleh untuk diset ketiga – tiganya pada sebuah variable set.
Contoh:
declare keputusan enum(‘pasti’,’tidak pasti’,’mungkin’);
set keputusan=’pasti,tidak pasti’;
Implementasi clause “case” … “end case”
Delimiter$$
drop function if exists doorprize$$
Create function doorprize(status_pelanggan char(10), saldo float)
returns char(12)
Begin
declare diskon float;
CASE status_pelanggan
WHEN ‘PLATINUM’ THEN
Set diskon=0.1*saldo;
WHEN ‘GOLD’ THEN
Set diskon=0.05*saldo;
WHEN ‘SILVER’ THEN
Set diskon=0.02*saldo;
WHEN ‘BRONZE’ THEN
Set diskon=0.01*saldo;
END CASE;
Return format(diskon,2);
End$$
Delimiter;
Catatan : fungsi format berguna untuk merubah pemisah ribuan pada nilai diskon dengan 2 digit decimal. Nilai yang dikembalikan berubah menjadi string.
sumber : http://yora15.wordpress.com
How are u?? can u follow to my blog. please
ReplyDelete@irvan : of course... i did it...
ReplyDeleteGreat Article
ReplyDeleteandroid based projects
Java Training in Chennai
Project Center in Chennai
Java Training in Chennai
projects for cse
The Angular Training covers a wide range of topics including Components, Angular Directives, Angular Services, Pipes, security fundamentals, Routing, and Angular programmability. The new Angular TRaining will lay the foundation you need to specialise in Single Page Application developer. Angular Training Project Centers in Chennai
Android Final Year Project Ideas for Computer Science. IEEE Android Projects for CSE 2020 - 2021 - WISEN
http://projectcentersinchennai.co.in
http://wisenitsolutions.com