Rumah > Artikel > pangkalan data > Bagaimana untuk menggunakan jika pernyataan bersarang dalam prosedur disimpan MySQL
1 Pengenalan kepada pernyataan if
Pernyataan if ialah pernyataan struktur bercabang yang melakukan operasi berbeza berdasarkan syarat. Pernyataan if biasanya terdiri daripada ungkapan bersyarat dan satu atau lebih pernyataan. Prasyarat untuk melaksanakan pernyataan dalam pernyataan if ialah nilai ungkapan bersyarat adalah benar, jika tidak blok pernyataan if akan dilangkau. Sintaks pernyataan
if adalah seperti berikut:
if(condition)then statement; else statement; end if;
di mana syarat ialah ungkapan bersyarat dan pernyataan ialah pernyataan SQL yang perlu dilaksanakan.
2. Pengenalan kepada pernyataan bersarang jika
Pernyataan jika bersarang berada dalam blok pernyataan if, dengan satu atau lebih blok pernyataan bersarang di dalamnya melakukan operasi yang berbeza berdasarkan keadaan yang berbeza. Sintaks pernyataan if bersarang adalah seperti berikut:
if(condition1)then statement; if(condition2)then statement; else statement; end if; else if(condition3)then statement; else statement; end if;
Antaranya, syarat1 ialah ungkapan bersyarat bagi tahap pertama jika keadaan2 ialah ungkapan bersyarat bagi tahap kedua jika; else if ;statement ialah pernyataan SQL yang perlu dilaksanakan.
3. Contoh pernyataan nested if
Berikut ialah contoh prosedur tersimpan menggunakan pernyataan nested if:
delimiter // create procedure test_if_nested( in student_name varchar(50), out result_msg varchar(50) ) begin declare student_score int; select score into student_score from student where name = student_name; if(student_score >= 90)then set result_msg = '优秀'; if(student_score = 100)then set result_msg = concat(result_msg, ',满分'); end if; else if(student_score >= 60)then set result_msg = '及格'; else set result_msg = '不及格'; end if; end // delimiter ;
Prosedur tersimpan ini ialah digunakan Nilaikan prestasi pelajar berdasarkan markah mereka:
Jika markah lebih daripada atau sama dengan 90 mata, ia adalah cemerlang, jika 100 mata, "skor penuh" ditambah ;
Jika markah lebih daripada atau sama dengan 60 mata, ia adalah satu hantaran; , memang gagal.
Prosedur tersimpan boleh dipanggil melalui arahan panggilan, sintaksnya adalah seperti berikut: call procedure_name(argument1, argument2, ...);
Di mana, procedure_name ialah nama prosedur tersimpan, argument1, argument2, dsb. ialah parameter prosedur tersimpan.
Sebagai contoh, untuk memanggil prosedur tersimpan di atas, anda boleh menggunakan arahan berikut:
call test_if_nested('张三', @result_msg); select @result_msg as result;
Masukkan parameter nama pelajar dan keluarkan hasilnya melalui parameter keluar. Keputusannya adalah seperti berikut:
+-------------+ | result | +-------------+ | 及格 | +-------------+
Melalui kaedah panggilan di atas, kita boleh mendapatkan markah pelajar berdasarkan nama mereka dan menilai gred pelajar berdasarkan markah.
Atas ialah kandungan terperinci Bagaimana untuk menggunakan jika pernyataan bersarang dalam prosedur disimpan MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!