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
159 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!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!