Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk menggunakan jika pernyataan bersarang dalam prosedur disimpan MySQL

Bagaimana untuk menggunakan jika pernyataan bersarang dalam prosedur disimpan MySQL

WBOY
WBOYke hadapan
2023-05-26 12:07:341817semak imbas

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:

  1. Jika markah lebih daripada atau sama dengan 90 mata, ia adalah cemerlang, jika 100 mata, "skor penuh" ditambah ;

  2. Jika markah lebih daripada atau sama dengan 60 mata, ia adalah satu hantaran; , memang gagal.

  3. 4. Panggilan prosedur tersimpan

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!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam