membuat function dalam mysql
TRANSCRIPT
MEMBUAT DAN
MENGOPERASIKAN
FUNCTION
PENGERTIAN FUNCTION
Function adalah
kumpulan-kumpulan SQL berupa routine yang di
simpan dalam database MySQL Server. biasanya
function ini dikombinasikan dengan store
pocedure atau bisa juga tidak di kombinasikan
dengan store procedure
BEBERAPA KEUNTUNGANMENGGUNAKAN STORED PROCEDURE
DAN STORED FUNCTION
• Lebih cepat
• Menghilangkan duplikasi proses
• Pemeliharaan yang mudah
• Meningkatkan keamanan database
CONTOH PERINTAH FUNCTION MENGHITUNG
JUMLAH SISWA
DELIMITER //
CREATE FUNCTION siswa_kelas (p_kelas int) RETURNS INT DETERMINISTIC
BEGIN
DECLARE jml INT;
SELECT COUNT(*) AS jml_kelas INTO jml FROM tb_siswa WHERE kelas = p_kelas;
RETURN jml;
END//
CARA PEMANGGILANNYA ADALAH SEBAGAI
BERIKUT
select siswa_kelas(“MIFXW41/14");
//
CONTOH FUNCTION MENGHITUNG JUMLAH
SISWA
KETERANGAN PERINTAH FUNCTION ADALAH
SEBAGAI BERIKUT
• DELIMITER adalah untuk memberi tahu kepada myql
soal delimiter yang digunakan, secara default
menggunakan ; jadi bila ada tanda ; mysql akan
mengartikan akhir dari statement, pada contoh di atas
delimeter yang digunakan // jadi akhir statementnya
adalah //
CREATE FUNCTION
• CREATE FUNCTION adalah header untuk membuat
sebuah function.
RETURNS
• RETURNS adalah untuk menentukan tipe data yang di
return-kan oleh sebuah function.
DETERMINISTIC/ NOT DETERMINISTIC
• DETERMINISTIC/ NOT DETERMINISTIC adalah untuk
menentukan yang bisa menggunakan function ini adalah
user pembuatnya saja (determinisric) atau user siapa saja
(not determinisric).
• Untuk penulisan DETEMINISTIC bisa ditulis secara
implisit dengan memberikan setting global pada mysql
dan secara default benilai NOT DETEMINISTIC.
BEGIN END
• BEGIN END adalah body dari function jadi semua SQL
nya di tulis disini.
CONTOH PENGGUNAAN PERINTAH CASE DALAM FUNGSI
GETDISKON() DIMANA FUNGSI INI MENENTUKAN DISKON
BERDASARKAN JUMLAH PESANAN YANG DILAKUKAN.
• DELIMITER //
• CREATE FUNCTION getDiskon(jumlah INT)
• RETURNS int(11)
• BEGIN
• DECLARE diskon INT; CASE
• WHEN (jumlah >= 100) THEN SET
diskon = 10;
• WHEN (jumlah >= 50 AND jumlah < 100) THEN SET
diskon = 5;
• WHEN (jumlah >= 20 AND jumlah < 50) THEN SET
diskon = 3;
• ELSE SET diskon = 0; END CASE;
• RETURN diskon;
• END//
Contoh Function Menghitung Volume Segitiga
• create function volume (panjang int, lebar int, tinggi int) returns int
• deterministic
• begin
• declare volum int;
• set volum = panjang * lebar * tinggi;
• return volum;
• end//
CARA PEMANGGILAN FUNCTION NYA ADALAH
SEBAGAI BERIKUT :
• Select volume (12,13,2);
• //
Contoh Function Menghitung Volume Segitiga
MEMBUAT DAN
MENGOPERASIKAN
PROSEDUR TANPA
PARAMETER DAN
BERPARAMETER
PENGERTIAN PROCEDURE
• Prosedur adalah sebuah blok SQL yang dapat berdiri
sendiri serta dikompilasi untuk selanjutnya masuk
kedalam skema database.
• Nama prosedur yang dibuat kemudian menjadi objek
dengan tipe prosedur.prosedur akan dieksekusi pada
saat pemanggilan setelah sebelumnya dibuat terlebih
dahulu.
BENTUK UMUM PROSEDUR ADALAH SEBAGAI
BERIKUT
CREATE OR REPLACE PROCEDURE
Nama_prosedur
(parameter_1 tipe_data,...) AS
Variabel_1 tipe_data;
....
BEGIN
Statement_1;
....
END;
CONTOH PERINTAH PEMBUATAN STORED
PROCEDURE
CARA PEMANGGILAN STORED PROCEDURE
• CALL SALAM();
• //
PROCEDURE TANPA PARAMETER
Parameter adalah data masukan untuk sub program
SQL yang nantinya akan diproses lebih lanjut dalam
subprogram SQL tersebut.
CONTOH PEMBUATAN PROCEDURE TANPA
PARAMETER
CONTOH PROCEDURE BERPARAMETER
CARA PEMANGGILANNYA ADALAH SEBAGAI
BERIKUT