Dalam mysql, pernyataan if digunakan untuk melaksanakan set pernyataan SQL berdasarkan keadaan atau hasil nilai ungkapan tertentu ialah "IF ungkapan THEN pernyataan;END IF;" apabila ungkapan menilai kepada Apabila BENAR, pernyataan penyata akan dilaksanakan.
Persekitaran pengendalian tutorial ini: sistem Windows 10, versi mysql8.0.22, komputer Dell G3.
Cara menggunakan if dalam mysql stored procedure
Pernyataan MySQL IF membolehkan anda melaksanakan pernyataan berdasarkan keadaan atau hasil nilai tertentu daripada pernyataan SQL Kumpulan. Untuk membentuk ungkapan dalam MySQL, anda boleh menggabungkan literal, pembolehubah, pengendali dan juga fungsi. Ungkapan boleh mengembalikan TRUE, FALSE atau NULL, salah satu daripada tiga nilai ini.
Sintaks pernyataan MySQL IF
Sintaks pernyataan IF diterangkan di bawah:
IF expression THEN statements; END IF;
Jika ungkapan bernilai TRUE, Maka pernyataan pernyataan akan dilaksanakan, jika tidak, aliran kawalan akan berpindah ke pernyataan seterusnya selepas TAMAT JIKA.
Carta alir berikut menunjukkan proses pelaksanaan pernyataan IF:
Penyata MySQL IF ELSE
Jika ungkapan Untuk melaksanakan pernyataan apabila hasil pengiraan formula adalah PALSU, sila gunakan pernyataan IF ELSE, seperti yang ditunjukkan di bawah:
IF expression THEN statements; ELSE else-statements; END IF;
Carta alir berikut menggambarkan proses pelaksanaan pernyataan IF ELSE:
MySQL IF ELSEIF ELSE statement
Jika anda ingin melaksanakan pernyataan secara bersyarat berdasarkan berbilang ungkapan, gunakan IF ELSEIF ELSE pernyataan seperti berikut:
IF expression THEN statements; ELSEIF elseif-expression THEN elseif-statements; ... ELSE else-statements; END IF;
Jika ungkapan bernilai TRUE, pernyataan dalam cabang IF akan dilaksanakan jika ekspresi bernilai FALSE, maka jika elseif_expression bernilai TRUE, MySQL akan melaksanakan elseif-expression; , jika tidak Laksanakan pernyataan penyata lain dalam cawangan ELSE. Proses khusus adalah seperti berikut
Contoh pernyataan MySQL IF
Contoh berikut menunjukkan cara menggunakan pernyataan IF ESLEIF ELSE, yang mana prosedur tersimpan GetCustomerLevel() menerima Dua parameter: nombor pelanggan dan tahap pelanggan.
Pertama, ia mendapat had kredit daripada meja pelanggan
Kemudian, berdasarkan had kredit, ia menentukan tahap pelanggan: PLATINUM , EMAS dan PERAK .
Parameter p_customerlevel menyimpan tahap pelanggan dan digunakan oleh program panggilan.
USE yiibaidb; DELIMITER $$ CREATE PROCEDURE GetCustomerLevel( in p_customerNumber int(11), out p_customerLevel varchar(10)) BEGIN DECLARE creditlim double; SELECT creditlimit INTO creditlim FROM customers WHERE customerNumber = p_customerNumber; IF creditlim > 50000 THEN SET p_customerLevel = 'PLATINUM'; ELSEIF (creditlim <= 50000 AND creditlim >= 10000) THEN SET p_customerLevel = 'GOLD'; ELSEIF creditlim < 10000 THEN SET p_customerLevel = 'SILVER'; END IF; END$$
Carta alir berikut menunjukkan logik untuk menentukan tahap pelanggan
Pembelajaran yang disyorkan: tutorial video mysql
Atas ialah kandungan terperinci Bagaimana untuk menggunakan jika dalam mysql stored procedure. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!