Rumah > pangkalan data > tutorial mysql > penghakiman prosedur tersimpan mysql

penghakiman prosedur tersimpan mysql

WBOY
Lepaskan: 2023-05-20 13:39:38
asal
2521 orang telah melayarinya

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;
Salin selepas log masuk

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;
Salin selepas log masuk

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;
Salin selepas log masuk

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;
Salin selepas log masuk

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) 
Salin selepas log masuk

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;
Salin selepas log masuk

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!

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