Rumah >pangkalan data >tutorial mysql >Bagaimana untuk menggunakan jika dalam mysql stored procedure

Bagaimana untuk menggunakan jika dalam mysql stored procedure

WBOY
WBOYasal
2022-01-12 10:49:288801semak imbas

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.

Bagaimana untuk menggunakan jika dalam mysql stored procedure

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:

Bagaimana untuk menggunakan jika dalam mysql stored procedure

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:

Bagaimana untuk menggunakan jika dalam mysql stored procedure

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

Bagaimana untuk menggunakan jika dalam mysql stored procedure

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 = &#39;GOLD&#39;;
    ELSEIF creditlim < 10000 THEN
        SET p_customerLevel = &#39;SILVER&#39;;
    END IF;
END$$

Carta alir berikut menunjukkan logik untuk menentukan tahap pelanggan

Bagaimana untuk menggunakan jika dalam mysql stored procedure

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn