Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menyelesaikan \'Ralat 1329: Tiada Data Diambil, Dipilih atau Diproses\' dalam Prosedur Tersimpan MySQL?

Bagaimana untuk Menyelesaikan \'Ralat 1329: Tiada Data Diambil, Dipilih atau Diproses\' dalam Prosedur Tersimpan MySQL?

Susan Sarandon
Lepaskan: 2024-10-25 19:11:02
asal
392 orang telah melayarinya

How to Resolve

Cara Menghapuskan "Ralat 1329: Tiada Data Diambil, Dipilih atau Diproses"

Apabila melaksanakan prosedur tersimpan yang tidak mengembalikan nilai, pengguna mungkin menghadapi "Ralat 1329: Tiada data - sifar baris diambil, dipilih atau diproses." Untuk menangani isu ini, ikut langkah berikut:

Pertimbangkan prosedur tersimpan berikut:

CREATE PROCEDURE `testing_proc`()  
    READS SQL DATA  
BEGIN  
    DECLARE done INT DEFAULT 0;
    DECLARE l_name VARCHAR(20);
    DECLARE my_cur CURSOR FOR
        SELECT name FROM customer_tbl;
    OPEN my_cur;
        my_cur_loop:
        LOOP FETCH my_cur INTO l_name;
            IF done = 1 THEN
                LEAVE my_cur_loop;
            END IF;
            INSERT INTO names_tbl VALUES(l_name);
        END LOOP my_cur_loop;
    CLOSE my_cur;
END
Salin selepas log masuk

Ralat berpunca daripada tingkah laku MySQL yang memaparkan amaran walaupun ia telah dikendalikan. Untuk mengelakkan ini, masukkan baris berikut pada penghujung prosedur:

DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
Salin selepas log masuk

Sebagai alternatif, tambahkan pernyataan "dummy" yang melibatkan jadual dan laksanakan dengan jayanya selepas gelung, contohnya:

SELECT name INTO l_name FROM customer_tbl LIMIT 1;
Salin selepas log masuk

Ini akan mengosongkan amaran disebabkan oleh pepijat/kelakuan aneh dalam MySQL (dirujuk dalam http://dev.mysql.com/doc/refman/5.5/en/show-warnings.html).

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan \'Ralat 1329: Tiada Data Diambil, Dipilih atau Diproses\' dalam Prosedur Tersimpan MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan