Pertimbangan prosedur tersimpan MySQL: gunakan IF, CASE dan pernyataan bersyarat untuk membuat pertimbangan logik
Prosedur tersimpan MySQL ialah salah satu alat penting untuk pelaksanaan logik perniagaan dalam MySQL Ia boleh memproses kumpulan dan menukar data, pengiraan dan analisis, dsb. Dalam prosedur tersimpan MySQL, kita selalunya perlu membuat pertimbangan logik pada data untuk memutuskan cara melaksanakan operasi seterusnya. Artikel ini akan memperkenalkan cara menggunakan IF, CASE dan pernyataan bersyarat untuk membuat pertimbangan logik dalam prosedur tersimpan MySQL.
1. Penyataan IF
Penyataan IF ialah pernyataan bersyarat yang paling biasa digunakan dalam prosedur tersimpan MySQL, yang digunakan untuk melaksanakan operasi yang berbeza berdasarkan keadaan benar atau salah. Format sintaksnya adalah seperti berikut:
IF (condition) THEN statements; ELSEIF (condition) THEN statements; ELSE statements; END IF;
Antaranya, syarat mewakili pernyataan penghakiman, dan pernyataan mewakili blok pernyataan yang perlu dilaksanakan. Dalam pernyataan IF, blok pernyataan IF dilaksanakan apabila keadaan adalah benar, dan blok pernyataan ELSEIF atau ELSE dilaksanakan apabila syarat adalah palsu. Terdapat berbilang blok pernyataan ELSEIF, tetapi ia hanya akan dilaksanakan apabila blok pernyataan IF adalah palsu.
Berikut ialah contoh penggunaan pernyataan IF untuk menentukan sama ada markah pelajar lulus:
CREATE PROCEDURE check_score(IN score INT) BEGIN IF (score >= 60) THEN SELECT 'Pass'; ELSEIF (score >= 50) THEN SELECT 'Makeup Exam'; ELSE SELECT 'Fail'; END IF; END;
Dalam contoh di atas, keputusan yang sepadan adalah output berdasarkan skor pelajar. Jika markah pelajar gagal, "Gagal" adalah keluaran; jika markah adalah antara 50 dan 60 mata, "Peperiksaan Solek" adalah keluaran jika markah melebihi 60 mata, "Lulus" adalah keluaran.
2. Pernyataan CASE
Pernyataan CASE ialah satu lagi pernyataan bersyarat yang biasa digunakan dalam prosedur disimpan MySQL Ia juga digunakan untuk melaksanakan operasi yang berbeza berdasarkan keadaan yang berbeza menyokong pertimbangan bersyarat yang lebih Kompleks. Format sintaksnya adalah seperti berikut:
CASE expr WHEN value1 THEN statements1; WHEN value2 THEN statements2; ... ELSE statements; END CASE;
Antaranya, expr mewakili ungkapan atau lajur, digunakan untuk memadankan nilai dalam keadaan WHEN, nilai2... mewakili nilai yang sepadan1, pernyataan2... mewakili pemadanan Operasi yang akan dilakukan pada nilai blok pernyataan ELSE mewakili operasi yang akan dilakukan apabila tiada padanan. Dalam pernyataan CASE, boleh terdapat beberapa syarat WHEN.
Berikut ialah contoh untuk menentukan gred pelajar melalui pernyataan KES:
CREATE PROCEDURE check_level(IN score INT) BEGIN CASE WHEN (score >= 90) THEN SELECT 'Excellent'; WHEN (score >= 80) THEN SELECT 'Good'; WHEN (score >= 70) THEN SELECT 'Fair'; WHEN (score >= 60) THEN SELECT 'Pass'; ELSE SELECT 'Fail'; END CASE; END;
Dalam contoh di atas, gred yang sepadan adalah output berdasarkan gred pelajar. Jika skor pelajar melebihi 90 mata, "Cemerlang" adalah output antara 80 dan 90 mata, "Baik" adalah output antara 70 dan 80 mata, "Adil" adalah output antara 60 dan 70 mata; ; jika keputusan gagal, keluarkan "Gagal".
3. Pernyataan bersyarat
Pernyataan bersyarat ialah satu lagi alat pertimbangan logik yang biasa digunakan dalam prosedur tersimpan MySQL adalah seperti berikut:
(condition1) AND/OR (condition2)
Antaranya, syarat1 dan syarat2. Mewakili dua syarat penghakiman pernyataan bersyarat masing-masing Anda boleh menggunakan DAN atau ATAU untuk menyambungkan syarat yang berbeza DAN bermakna dua syarat mesti dipenuhi, dan ATAU bermakna sekurang-kurangnya satu syarat mesti dipenuhi.
Berikut ialah contoh untuk menentukan sama ada pelajar lewat melalui pernyataan bersyarat:
CREATE PROCEDURE check_lateness(IN late INT) BEGIN IF (late = 0) OR (late <= 5) THEN SELECT 'On Time'; ELSE SELECT 'Late'; END IF; END;
Dalam contoh di atas, jika pelajar tidak lewat (iaitu lewat=0), atau sedang lewat tidak lebih daripada 5 minit , kemudian keluarkan "Tepat Masa" jika tidak, keluarkan "Lewat".
Ringkasan
JIKA, KES dan pernyataan bersyarat biasanya digunakan alat pertimbangan logik dalam prosedur tersimpan MySQL Ia boleh melakukan operasi yang berbeza berdasarkan keadaan yang berbeza. Dalam kerja pembangunan sebenar, kita boleh memilih pernyataan pertimbangan yang berbeza berdasarkan keperluan perniagaan tertentu untuk meningkatkan kecekapan dan kebolehbacaan kod.
Atas ialah kandungan terperinci penghakiman prosedur tersimpan mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!