April 19, 2024

Membuat stored procedure Mysql menggunakan data hasil query

Kadang-kadang suka susah cari contoh store procedure Mysql yang menggunakan data hasil query untuk query lainnya. Jadi ini buat catatan saya aja, tapi barangkali ada yang perlu juga, silahkan digunakan.

Berikut adalah stored procedurenya.

 

drop procedure hapus_lampiran_batal;
DELIMITER //
CREATE PROCEDURE hapus_lampiran_batal(IN idpermohonan int)
BEGIN
DECLARE v_finished INTEGER DEFAULT 0;
DECLARE kodeyangdicek varchar(100) DEFAULT "";
 
-- declare cursor for employee email
DECLARE cursornya CURSOR FOR 
 SELECT id_lampiran FROM lampiran where id_permohonan = idpermohonan
 order by kode_lampiran, id_lampiran;

-- declare NOT FOUND handler
DECLARE CONTINUE HANDLER 
 FOR NOT FOUND SET v_finished = 1;

OPEN cursornya;
loopnya: LOOP
 FETCH cursornya INTO kodeyangdicek;
 
 -- perintah keluar dari loop bila data habis
 IF v_finished = 1 THEN 
 LEAVE loopnya;
 END IF;
 
 -- aksi utama
 delete from verifikasi_lampiran_permohonan where id_lampiran = kodeyangdicek;
 delete from lampiran where id_lampiran = kodeyangdicek;
 
END LOOP loopnya;
CLOSE cursornya;
END
//
delimiter ;