मैं एक कर्सर परिणाम के माध्यम से एक MYSQL संग्रहीत प्रक्रिया में सेट लूपिंग कर रहा हूँ। मुझे एक समस्या का सामना करना पड़ रहा है जो कि लूप हमेशा अंतिम रिकॉर्ड को दो बार चलाता है। यहाँ मेरी कोड है,MYSQL कर्सर पाश, एक अतिरिक्त दौर चलाता है, क्यों?
BEGIN
DECLARE not_found_creadit INT DEFAULT 0;
DECLARE cur_credit CURSOR FOR
SELECT customer_id, amount, status, user_type, employee, note FROM credit WHERE status = 'approved' AND customer_id = int_cust_id;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET not_found_creadit = 1;
OPEN cur_credit;
SET not_found_creadit = 0;
credit_loop : LOOP
IF not_found_creadit THEN
CLOSE cur_credit;
LEAVE credit_loop;
END IF;
FETCH cur_credit INTO vc_customer, dec_amount, vc_status, vc_user_type, vc_emp, vc_note;
SELECT vc_customer, dec_amount, vc_status, vc_user_type, vc_emp, vc_note;
......
......
END LOOP;
END;
मतलब अगर मैं 3 रिकॉर्ड है, पाश 4 बार चलाता है, अगर यह 10 रिकॉर्ड पाश 11 बार है रन, आदि किसी भी विचार क्या यहाँ हो रहा?
यह मदद मिल सकती है बिल्कुल प्रकार बुरा है -> [कर्सर अंतिम पंक्ति से अधिक दो बार पुनरावृत्ति] (http://forums.mysql.com/read.php?102,155063,155063) – Kermit
हां, वास्तव में काम किया। Thanx – Thanu
लिंक अब गायब है – ejectamenta