Cursor in MySQL

cursor, mysql cursor,cursor in mysql, cursors, cursor in database, create cursor in mysql, sql cursor, cursor in stored procedure, sql cursors in hindi, how to create cursor in mysql, cursor mysql, mysql cursor tutorial, cursor example in mysql prompt, cursor in stored procedure in phpmyadmin, mysql cursor example, mysql stored procedure create with cursor, cursor tutorial, cursor for


What is Cursor in MySQL?

Cursor एक प्रकार का Tool हैं जो की आपको SQL के Result Set की एक एक Row पर Operation Perform करने के लिए सुविधा प्रदान करता हैं । Cursor पर आप कोई भी SQL Pass कर उसके Result Set पर Loop लगा कर प्रत्येक Row के Columns के Data को fetch कर सकते हैं ।


Use of Cursor in MySQL

जब भी हमे किसी Table के प्रत्येक Rows पर कोई भी Operation Perform करना होता हैं तब हम Cursor का उपयोग करते हैं ।


Benefit of Cursor in MySQL

  • यह बहुत ही Fast होते हैं ।
  • Row Wise processing होती हैं इसलिए हमे validation या कोई भी calculation करना आसान हो जाता हैं ।
  • सबसे बड़ा Benefit यह हैं कई इसमे कुछ Rows का data हमे दे कर आगे कई Processing चलती रहती हैं । जिससे हम Row पर Operation भी Perform कर पाते हैं और और आगे data भी load होता रहता हैं । यदि हम अन्य रिजल्ट Set से compare करे तो पूरी SQL Execute होने के बाद ही हम Result Set का उपयोग कर पाते हैं जबकि Cursor मे जैसे ही First Attempt मे जो Rows Return हुई हैं हम उन पर Operation Perform करते हैं और आगे का data load होता रहता हैं।

Structure of Cursor in MySQL

  • DECLARE
  • OPEN
  • LOOP
    • FETCH
    • Exit Logic
    • Main Logic
  • CLOSE

DECLARE

  • इस command से Cursor को एक नाम दिया जाता हैं , और एक SQL Pass की जाती हैं जिसके Result set पर हमे Operation Perform करना होते हैं ।
  • Cursor Declare करने के बाद हमे CONTINUE HANDLER Declare करना होता हैं। ताकि Record End होने पर हम Loop से बाहर आ सके ।

OPEN

  • Open करने से हमने जो Cursor declare किया हैं वह execute होता हैं।

LOOP

  • एक से अधिक Rows ही Return होती हैं इसलिए हमे Loop Logic लगाना होता हैं । इसमे ही हम Data को Feत ch करते हैं । यह Cursor का part नहीं हैं परंतु हमे इसलिए उपयोग करना होता हैं क्युकी हमे एक से अधिक Rows के Data पर Operation Perform करना हैं ।

FETCH

  • इस Command से एक Single Row के सभी Column कई Value को हम Local variable मे Store करते हैं। Local variable मे वैल्यू आने के बाद हम उनका उपयोग अपने Program Logic के अनुसार कर सकते हैं ।

Exit Logic

  • Data Fetch होने के Just बाद मे ही हम Loop से बाहर आने के Logic लिखते हैं। इसके लिए हम CONTINUE HANDLER Declare करते हैं। ताकि जैसे ही Rows end हो हम Loop से बाहर हो सके ।

Main Logic

  • इस स्थान पर आप जिस कार्य के लिए भी Cursor बना रहे हैं वह Logic लिखे ।

CLOSE

  • कार्य समाप्ति पर हमे Cursor को Close करना होता हैं ताकि Memory से Space और जो भी Holding Cusror द्वारा की गई हैं उसे free किया जा सके।

Cursor Syntax in MySQL

यहा पर MySQL मे किस तरह से Cursor बनाया जाता हैं उसका Syntax दिया गया हैं । Cursor को Execute करने के लिए हमने Procedure ka उपयोग किया है हम Function मे भी Cursor लिख सकते हैं।

DELIMITER $$
CREATE PROCEDURE `ProcedureName`()

BEGIN


   DECLARE done int DEFAULT FALSE;

   DECLARE CUR1 CURSOR FOR /*Write SQL here*/;
   DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;


   OPEN CUR1;

  
   lbl: LOOP

       FETCH CUR1 INTO /*Write Variable(s)*/;

       if (done) THEN
	   LEAVE lbl;
       end if;


      
       /*Write your Logic here*/


    END  LOOP;


    CLOSE CUR1;


END$$
DELIMITER ;

उपरोक्त Syntax से आप Cursor बना सकते हैं। हमने Procedure मे Cursor लिखा हैं इसलिए आप इसे Execute करने के लिए Call का उपयोग करे।

CALL ProcedureName;

Cursor Live Example

नीचे आप हमारे Channel के Video के कुछ लिंक दिए हैं इसमे आप Cursor के Live Example समझ सकते हैं


आशा हैं मुझे की आपको MySQL Cursor बहुत अच्छे से समझ मे आ गया होगा, यदि फिर भी आपके कोई Doubts हैं तो आप मुझे Comment कर सकते हैं ।

यह Article कैसा लगा बताना न भूले, अपना कीमती समय देने के लिए धन्यवाद ।


हमारे अन्य आर्टिकल

Add a Comment

Your email address will not be published. Required fields are marked *