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

SQL सर्वर कर्सर को MySQL समकक्ष में कैसे बदलें

MySQL समकक्ष कुछ इस तरह होगा:

BEGIN
  DECLARE CurrentFirstName VARCHAR(300);
  DECLARE CurrentAge INT;
  DECLARE done INT DEFAULT FALSE;
  DECLARE CursorName CURSOR FOR
    SELECT FirstName, Age FROM Customers;
  DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
  OPEN CursorName;
  myloop: LOOP
    FETCH CursorName INTO CurrentFirstName, CurrentAge;
    IF done THEN
      LEAVE myloop;
    END IF;
    IF CurrentAge > 60 THEN
      insert into ElderCustomers values (CurrentFirstName,CurrentAge);
    END IF;
  END LOOP;
  CLOSE CursorName;
END;

बड़ा अंतर लूप में है, जब लाने के लिए कोई और पंक्तियाँ न हों, और फ़्लैग सेट होने पर लूप से बाहर निकलने पर फ़्लैग सेट करने के लिए CONTINUE HANDLER का उपयोग करें। (यह बदसूरत लग रहा है, लेकिन MySQL में ऐसा ही किया गया है।)

यह उदाहरण प्रश्न पूछता है कि यह क्यों नहीं लिखा गया है (अधिक कुशलता से, SQL सर्वर और MySQL दोनों में):

INSERT INTO ElderCustomers (FirstName, Age)
SELECT FirstName, Age
  FROM Customers
 WHERE Age > 60



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. org.json.JSONException:मान <br प्रकार java.lang.String को JSONObject में परिवर्तित नहीं किया जा सकता है

  2. क्या mysql कनेक्शन बंद करना महत्वपूर्ण है?

  3. JTable के एकल कॉलम पर MySQL डेटाबेस से छवियों को प्रदर्शित करना

  4. MySQL मिलीसेकंड/माइक्रोसेकंड परिशुद्धता का समर्थन क्यों नहीं करता है?

  5. प्रत्येक n रिकॉर्ड के लिए MySQL से SUM कैसे करें