Rumah > pangkalan data > tutorial mysql > mysql stored procedure if statement

mysql stored procedure if statement

WBOY
Lepaskan: 2023-05-23 11:21:07
asal
1758 orang telah melayarinya

Prosedur tersimpan MySQL ialah cara untuk mencipta kod boleh guna semula dalam MySQL. Prosedur tersimpan terdiri daripada satu siri pernyataan SQL dan struktur kawalan. Antaranya, pernyataan if merupakan struktur penting untuk aliran kawalan.

Penggunaan pernyataan if adalah sangat biasa dalam prosedur tersimpan MySQL. Pernyataan if biasanya digunakan untuk melaksanakan cawangan bersyarat dalam kod prosedur tersimpan. Pernyataan if membenarkan anda menyemak set syarat dan kemudian memilih tindakan untuk dilakukan berdasarkan salah satu syarat tersebut.

jika sintaks pernyataan adalah seperti berikut:

IF expression THEN
    statements;
ELSEIF expression THEN
    statements;
ELSE
    statements;
END IF;
Salin selepas log masuk

Dalam sintaks ini:

  • ungkapan ialah ungkapan bersyarat untuk dinilai. Klausa
  • THEN mengandungi pernyataan yang akan dilaksanakan jika keadaan bernilai TRUE.
  • Klausa ELSEIF ialah satu lagi pernyataan bersyarat pilihan.
  • Klausa ELSE mengandungi pernyataan yang akan dilaksanakan jika semua syarat adalah palsu.
  • Klausa TAMAT;

Contoh berikut menggambarkan penggunaan pernyataan if melalui prosedur tersimpan MySQL.

Andaikan kita ada meja pelanggan. Jadual mengandungi medan berikut:

  • customer_id: ID pelanggan
  • nama: nama pelanggan
  • umur: umur pelanggan
  • jantina: jantina pelanggan
  • e-mel: E-mel pelanggan

Sekarang kami akan mencipta prosedur tersimpan yang akan mengembalikan penerangan berbeza berdasarkan umur pelanggan. Jika pelanggan berumur 18 tahun atau lebih, "Dewasa" dikembalikan. Jika tidak mengembalikan "kecil".

Berikut ialah kod lengkap untuk prosedur tersimpan ini:

CREATE PROCEDURE get_customer_age_description(IN id INT)
BEGIN
    DECLARE age INT;
    SELECT age INTO age FROM customers WHERE customer_id = id;
    
    IF age >= 18 THEN
        SELECT '成年人' as description;
    ELSE
        SELECT '未成年人' as description;
    END IF;
END;
Salin selepas log masuk

Pertama, prosedur tersimpan ini akan mendapat ID pelanggan dan mendapatkan semula umur pelanggan daripada pangkalan data. Seterusnya, gunakan pernyataan if untuk menentukan perihalan untuk dikembalikan. Jika pelanggan berumur 18 tahun atau lebih, "Dewasa" dikembalikan. Jika tidak mengembalikan "kecil".

Panggil prosedur tersimpan ini dengan melaksanakan arahan berikut:

CALL get_customer_age_description(1);
Salin selepas log masuk

Kita boleh mendapatkan output berikut:

+---------------+
| description   |
+---------------+
| 成年人        |
+---------------+
Salin selepas log masuk

Dengan memanggil kenyataan di atas, jika ID pelanggan ialah 1 dan pelanggan Jika umur lebih daripada atau sama dengan 18 tahun, hasil keluaran adalah "dewasa".

Dalam contoh ini, kami mula-mula mengisytiharkan umur berubah-ubah. Pembolehubah ini digunakan untuk menyimpan umur pelanggan yang kami dapat daripada pangkalan data. Kami kemudian menggunakan pernyataan SELECT untuk mendapatkan semula umur pelanggan daripada pangkalan data. Seterusnya, kami menggunakan pernyataan if untuk membandingkan umur dan memilih perihalan berbeza berdasarkan hasil perbandingan.

Ringkasnya, pernyataan if menyediakan cara yang berkesan untuk mengawal aliran prosedur tersimpan MySQL. Anda boleh membuat pernyataan if anda sendiri dengan menambah syarat yang berbeza mengikut keperluan. Ini akan membantu meningkatkan fungsi dan kegunaan prosedur tersimpan.

Atas ialah kandungan terperinci mysql stored procedure if statement. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan