Rumah > pangkalan data > tutorial mysql > set hasil mysql penyimpanan prosedur tersimpan

set hasil mysql penyimpanan prosedur tersimpan

WBOY
Lepaskan: 2023-05-23 15:49:39
asal
819 orang telah melayarinya

Prosedur tersimpan dalam MySQL membolehkan pengguna menyesuaikan set pernyataan SQL, merangkumnya ke dalam blok kod boleh guna semula dan terus memanggil dan melaksanakannya dalam aplikasi. Ciri ini boleh meningkatkan kebolehgunaan semula pernyataan SQL dan kebolehbacaan kod dengan banyak, dan juga boleh mempercepatkan pelaksanaan pertanyaan. Menggunakan set hasil dalam prosedur tersimpan boleh memberikan pengguna kaedah pemprosesan data yang lebih fleksibel.

1. Apakah set hasil

Set keputusan (ResultSet) ialah koleksi data yang dikembalikan oleh operasi pertanyaan Melalui koleksi ini, maklumat lajur yang ditentukan dalam jadual pangkalan data boleh diperolehi dan maklumat Melaksanakan operasi, pengiraan dan pemprosesan. Dalam MySQL, prosedur tersimpan boleh menggunakan set hasil, yang boleh mengembalikan hasil operasi pertanyaan kepada aplikasi yang memanggil prosedur tersimpan untuk pemprosesan dan penggunaan selanjutnya.

2. Prosedur tersimpan yang menggunakan set hasil

Untuk menggunakan set hasil dalam prosedur tersimpan, anda perlu menggunakan kata kunci khas - CURSOR. CURSOR ialah jenis kursor yang boleh mengekstrak setiap baris data dalam set hasil pertanyaan satu demi satu dan menyimpan baris data dalam jadual sementara untuk pemprosesan dan output mengikut prosedur tersimpan.

Sintaks CURSOR adalah seperti berikut:

ISYTIHKAN cursor_name CURSOR FOR SELECT statement;

Antaranya, cursor_name ialah nama kursor, dan SELECT statement ialah SQL kenyataan yang perlu ditanya.

Seterusnya, kami menggunakan contoh untuk menunjukkan cara menggunakan set keputusan dalam prosedur tersimpan.

Contoh: Cipta prosedur tersimpan untuk menanyakan maklumat pesanan pengguna yang ditentukan dan mengeluarkan keputusan yang ditetapkan kepada aplikasi. Memandangkan set hasil boleh diproses dan dikira dengan lebih fleksibel, hasil pertanyaan juga perlu memasukkan maklumat statistik seperti jumlah pesanan dan jumlah pesanan.

Dalam klien mysql, masukkan kod berikut:

DELIMITER //

CREATE PROCEDURE order_info(IN p_customer_id INT)
BEGIN
    DECLARE order_id INT;
    DECLARE order_total DECIMAL(10,2);
    DECLARE total_orders INT;
    DECLARE done INT DEFAULT FALSE;
    DECLARE cur CURSOR FOR SELECT o.order_id, o.order_total FROM orders o WHERE o.customer_id = p_customer_id;
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;

    SELECT COUNT(*) INTO total_orders FROM orders o WHERE o.customer_id = p_customer_id;

    IF total_orders > 0 THEN
        SELECT SUM(o.order_total) INTO order_total FROM orders o WHERE o.customer_id = p_customer_id;

        OPEN cur;

        SELECT 'Order ID', 'Order Total' UNION ALL
        SELECT '========', '===========';

        loop_cursor: LOOP
            FETCH cur INTO order_id, order_total;
            IF done THEN
                LEAVE loop_cursor;
            END IF;
            SELECT order_id, order_total;
        END LOOP;

        SELECT 'Total Orders: ', total_orders;
        SELECT 'Total Amount: ', order_total;

        CLOSE cur;
    ELSE
        SELECT 'No orders found.';
    END IF;
END
//

DELIMITER ;
Salin selepas log masuk

Anotasi adalah seperti berikut:

DELIMITER digunakan untuk menukar pembatas lalai dalam MySQL untuk mengelakkan konflik dengan pembatas dalam prosedur tersimpan konflik nombor.

PROSEDUR CIPTA digunakan untuk membuat prosedur tersimpan.

DECLARE digunakan untuk mengisytiharkan pembolehubah.

Pernyataan IF-ELSE digunakan untuk menentukan sama ada hasil pertanyaan kosong.

KURSOR dan FETCH digunakan untuk menanyakan set hasil.

Di atas ialah beberapa kod utama contoh ini. Mari kita lihat hasil pelaksanaan prosedur tersimpan.

Masukkan pernyataan berikut untuk memanggil prosedur tersimpan:

CALL order_info(1);
Salin selepas log masuk

Hasil pelaksanaan adalah seperti berikut:

set hasil mysql penyimpanan prosedur tersimpan

Daripada hasil pelaksanaan, prosedur yang disimpan boleh menjadi sangat Ia adalah cara yang baik untuk menanyakan maklumat pesanan pengguna yang ditentukan dan mengeluarkan keputusan yang ditetapkan kepada aplikasi. Pada masa yang sama, ia juga mengumpul statistik jumlah pesanan dan jumlah pesanan, merealisasikan kaedah pemprosesan data yang lebih fleksibel.

3. Ringkasan

Artikel ini memperkenalkan konsep set hasil, prosedur tersimpan dan kursor dalam MySQL, dan menunjukkan cara menggunakan set hasil dalam prosedur tersimpan melalui contoh khusus. Sebagai ciri penting MySQL, set hasil memberikan pengguna kaedah pemprosesan data yang lebih fleksibel, terutamanya apabila digunakan dalam prosedur tersimpan, yang boleh meningkatkan kebolehgunaan semula pernyataan SQL dan kebolehbacaan kod dengan banyak, dan mengoptimumkan kecekapan Pertanyaan.

Atas ialah kandungan terperinci set hasil mysql penyimpanan prosedur tersimpan. 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