Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

जब मेरे पास कथन में WHERE है तो मेरी संग्रहीत कार्यविधि त्रुटि 'कोई डेटा नहीं - शून्य पंक्तियाँ प्राप्त, चयनित, या संसाधित' क्यों फेंकती है?

आपको जारी रखने वाले हैंडलर को परिभाषित करना होगा:

DROP PROCEDURE IF EXISTS Test;
DELIMITER //

CREATE PROCEDURE Test()
BEGIN

    -- Our columns
    DECLARE name VARCHAR(45);
    DECLARE id INT DEFAULT -1;
    DECLARE done INT DEFAULT 0;
    -- Our cursor
    DECLARE cur CURSOR FOR SELECT name, id FROM MyTable WHERE id > 3;
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
    DROP TEMPORARY TABLE IF EXISTS TempTest;
    CREATE TEMPORARY TABLE TempTest
    (
    name VARCHAR(45) NOT NULL,
    id INT NOT NULL
    );

    -- Open our cursor
    open cur;

    -- Start our for loop
    forLoop: LOOP

    -- Get the row
    FETCH cur INTO name, id;
     IF done = 1 THEN
        LEAVE forLoop;
    END IF;
    INSERT INTO TempTest (name, id)
    VALUES ( name, id);

    END LOOP forLoop;

    -- Close the cursor
    CLOSE cur;

    -- NOW GET THE RESULTS
    SELECT * FROM TempTest;

END; //

DELIMITER ;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं सीक्वेलाइज.जेएस का उपयोग करके रिकॉर्ड को कैसे अपडेट कर सकता हूं और कुछ कॉलमों को अनदेखा कर सकता हूं

  2. MySQL php . में न्यूनतम आईडी और अधिकतम आईडी मान प्राप्त करें

  3. MySQL सेलेक्ट और IF () स्टेटमेंट

  4. MySQL - साइकिल चलाने के साथ अगला/पिछला आईडी

  5. मैक ओएस एक्स . पर पायथन और माइस्क्ल