और मैं इस पर ठोकर:जाहिर लाने रिटर्न नल मैं संग्रहित प्रक्रियाओं, mysql में कर्सर सीख रहा हूँ
delimiter //
CREATE PROCEDURE some_func()
BEGIN
DECLARE link_rewrite VARCHAR(255);
DECLARE link_rewrite_cursor CURSOR FOR SELECT link_rewrite FROM prod;
OPEN link_rewrite_cursor;
SET @count = 0;
WHILE @count < 10 DO
FETCH link_rewrite_cursor INTO link_rewrite;
SELECT link_rewrite;
set @count = @count + 1;
END WHILE;
CLOSE link_rewrite_cursor;
END//
delimiter ;
मेरा प्रश्न है: क्यों का चयन करें link_rewrite हमेशा NULL भेजता है (prod तालिका में वहाँ 9000 पंक्तियाँ है)। Prod से link_rewrite चुनें कई पंक्तियां (9 000 पंक्तियां) लौटाती हैं।
'SET' इसे घोषित नहीं करता है? –
@Eric यह बीक्यूज कुछ रिटर्न का चयन करता है (इस मामले में न्यूल) तो मेरी राय में यह लूप के दौरान हिट करता है। हाँ आप इसे बहुत तेज़ कर सकते हैं लेकिन मैं कर्सर और संग्रहीत प्रक्रिया सीखने की कोशिश कर रहा हूं। – PaulP
@PaulP, प्रोड सीमा 10' से लिंक_rewrite का चयन क्या करता है? यदि ऐसा है, तो मेरा अनुमान है कि आपके पास तालिका में 'शून्य' मान हैं (भले ही आपके पास कितनी पंक्तियां हों)। – Eric