Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> MySql

एक MySQL संग्रहीत कार्यविधि बनाएं जो कर्सर का उपयोग करके तालिका से पंक्तियों को प्राप्त करे?


निम्नलिखित एक संग्रहीत प्रक्रिया है जो निम्न डेटा वाली तालिका 'student_info' के नाम कॉलम से रिकॉर्ड प्राप्त करती है -

mysql> Select * from Student_info;
+-----+---------+------------+------------+
| id  | Name    | Address    | Subject    |
+-----+---------+------------+------------+
| 101 | YashPal | Amritsar   | History    |
| 105 | Gaurav  | Chandigarh | Literature |
| 125 | Raman   | Shimla     | Computers  |
| 127 | Ram     | Jhansi     | Computers  |
+-----+---------+------------+------------+
4 rows in set (0.00 sec)

mysql> Delimiter //

mysql> CREATE PROCEDURE cursor_defined(OUT val VARCHAR(20))
    -> BEGIN
    -> DECLARE a,b VARCHAR(20);
    -> DECLARE cur_1 CURSOR for SELECT Name from student_info;
    -> DECLARE CONTINUE HANDLER FOR NOT FOUND
    -> SET b = 1;
    -> OPEN CUR_1;
    -> REPEAT
    -> FETCH CUR_1 INTO a;
    -> UNTIL b = 1
    -> END REPEAT;
    -> CLOSE CUR_1;
    -> SET val = a;
    -> END//
Query OK, 0 rows affected (0.04 sec)

mysql> Delimiter ;
mysql> Call cursor_defined2(@val);
Query OK, 0 rows affected (0.11 sec)

mysql> Select @val;
+------+
| @val |
+------+
| Ram |
+------+
1 row in set (0.00 sec)

उपरोक्त परिणाम सेट से, हम देख सकते हैं कि वैल पैरामीटर को 'राम' मान मिला है क्योंकि यह कॉलम 'नाम' का अंतिम मान है।


  1. MySQL कार्यक्षेत्र का उपयोग करके संग्रहीत कार्यविधियाँ बनाएँ?

    आइए पहले एक संग्रहित प्रक्रिया बनाएं। MySQL वर्कबेंच का उपयोग करके एक संग्रहीत कार्यविधि बनाने की क्वेरी निम्नलिखित है। व्यवसाय का उपयोग करें;DELIMITER//ड्रॉप प्रक्रिया अगर SP_GETMESSAGE मौजूद है; प्रक्रिया बनाएं SP_GETMESSAGE()BEGINDECLARE MESSAGE VARCHAR(100);SET MESSAGE=Hello;Select CONCAT(MESSAG

  1. MySQL में संग्रहीत कार्यविधि से तालिका रिकॉर्ड प्रदर्शित करें

    आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable1933 ( ClientName varchar(20) );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.00 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1933 मानों में डालें (जॉन डो); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.00 सेकंड) चयन कथन का उपयोग करके तालिका से

  1. MySQL संग्रहीत कार्यविधि SHOW CREATE TABLE निष्पादित करने के लिए?

    किसी संग्रहीत कार्यविधि में SHOW CREATE TAB निष्पादित करने के लिए, SHOW CREATE TABLE का उपयोग करें। आइए पहले एक टेबल बनाएं - );क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.80 सेकंड) SHOW CREATE TABLE निष्पादित करने वाली संग्रहीत प्रक्रिया निम्नलिखित है - सीमांकक; कॉल कमांड का उपयोग करके संग्रहीत कार्य