Praktikum Berkas dan Basis Data © 2010 Store Procedure/Function – Trigger Rizki Arif Firdaus http://firarif.wordpress.com/praktikum/
Store Procedure Contoh delimiter $ create procedure tambah_fakultas(id char(2),nama varchar(50)) begin insert into fakultas values(id,nama); end $ delimiter ; call tambah_fakultas (‘KU’, ‘Kedokteran Umum’);
Store Procedure (2) Delimiter adalah karakter atau string yang memberi tahu MySQL bahwa kita telah selesai menulis statemen SQL. Defaultnya: semicolon (tanda ;). Hal ini diperlukan karena store procedure terdiri atas sejumlah statemen, dan setiap statemen harus diakhiri dengan semicolon.
Store Procedure (3) Latihan 1 Buat store procedure untuk meng-update table mahasiswa dengan input niu dan nama. Coba untuk memanggil prosedurnya.
Store Procedure (4) delimiter @ create procedure ubah_mahasiswa(niu int,nama varchar(100)) begin update mahasiswa set niu=nim where nama=nama; end @ delimiter ; call ubah_mahasiswa(1,‘ikkie');
Store Function Contoh: delimiter & create function func_genap(angka int(10)) returns tinyint(1) begin case mod(angka,2) when 0 then return true; when 1 then return false; end case; end& delimiter ; select func_genap(3);
Store Function (2) Latihan 2 Buat store function untuk menampilkan jumlah mahasiswa dari setiap prodi Coba untuk memanggil fungsinya.
Store Function (3) delimiter % create function jumlah_mhs (prodi char(3)) returns int begin declare jumlah int; select count(*) as 'jumlah mahasiswa' into jumlah from mahasiswa where kode_prodi = prodi; return jumlah; end% delimiter ; select jumlah_mhs(‘IKP’);
Trigger Contoh: delimiter $$ create trigger trig_prodi after update on program_studi for each row begin insert into program_studi_log values (new.kode_prodi,new.nama,new.kode_jurusan); end$$ delimiter ;
Trigger (2) Latihan 3 Buat trigger untuk insert data di tabel krs dengan semester genap tahun 2009 dan kode mata kuliah MMS2602 setelah insert data ke tabel mahasiswa
Trigger (3) delimiter # create trigger trig_krs after insert on mahasiswa for each row begin insert into krs values (new.niu, ’GENAP’, ’2009’, ’’, ’MMS2602’); end# delimiter ;
Trigger (4) Latihan 4 Buat trigger untuk update data sks=2 di tabel mata kuliah pada kode prodi yang bersangkutan (yang di-update di tabel program studi) setelah update data di tabel program studi
Trigger (5) delimiter ^^ create trigger trig_mk after update on program_studi for each row begin update mata_kuliah set sks=2 where kode_prodi=new.kode_prodi; end^^ delimiter ;