BUAT PROSEDUR `justifyGroupNum`() BUKAN DETERMINISTIK DEFINISI KEAMANAN SQL KOMENTAR '' MULAI /*cara menjalankan:panggil justifyGroupNum()*/ MENYATAKAN p_group_id int; nyatakan p_num int; nyatakan stopFlag int; MENYATAKAN nama_kursor KURSOR UNTUK pilih c_group_id,count(*) sebagai angka dari `t_group_member` dimana c_valid di (3,4) kelompokkan berdasarkan c_group_id; DEKLARASIKAN LANJUTKAN PENANGANAN UNTUK TIDAK DITEMUKAN set stopFlag=1; BUKA nama_kursor; MENGULANG FETCH nama_kursor KE p_group_id,p_num; mulai perbarui t_groupinfo set c_member_number=p_num di mana c_group_id=p_group_id; akhir; SAMPAI stopFlag = 1 AKHIR ULANGI; TUTUP nama_kursor; AKHIR; |
Ringkasan:
1. Perhatikan pengaturan penangan countinue kursor: DECLARE CONTINUE HANDLER FOR NOT FOUND set stopFlag=1;
2. Perhatikan penggunaan REPEAT dan UTILE [kondisi stop] END REPEAT, jika tidak maka tidak akan loop;
3. Cara MENJALANKAN, masuk dan jalankan :call justifyGroupNum()