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

हम एक MySQL संग्रहीत प्रक्रिया को कैसे बदल सकते हैं?


यदि हमारे पास प्रक्रिया के लिए ALTER ROUTINE विशेषाधिकार हैं तो ALTER PROCEDURE की सहायता से कथन हम एक MySQL संग्रहीत प्रक्रिया को बदल सकते हैं। इसे प्रदर्शित करने के लिए हम 'delete_studentinfo' नामक एक संग्रहित प्रक्रिया का एक उदाहरण ले रहे हैं जिसमें निम्नलिखित एक स्टेटमेंट बनाते हैं -

mysql> बनाने की प्रक्रिया दिखाएं Delete_studentinfo\G**************************** 1. पंक्ति ********* **** प्रक्रिया:Delete_studentinfo sql_mode:ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_UTION D प्रक्रिया बनाएं:`Delete_studentinfo`(इन p_id INT) BEGINDELETE FROM student_infoWHERE ID=p_id;ENDcharacter_set_client:cp850collation_connection:cp850_general_ci डेटाबेस संयोजन:latin1_swedish_ci1 पंक्ति में सेट (0.01 सेकंड)

उपरोक्त परिणाम सेट में, यह स्पष्ट है कि संग्रहीत प्रक्रिया 'delete_studentinfo' में कोई टिप्पणी नहीं है। अब, ALTER PROCEDURE स्टेटमेंट की मदद से, हम एक टिप्पणी इस प्रकार जोड़ सकते हैं -

mysql> ALTER PROCEDURE Delete_studentinfo -> COMMENT 'रिकॉर्ड हटा रहा है'//क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.03 सेकंड)

अब, यह पुष्टि की जा सकती है कि टिप्पणियों को निम्नलिखित क्वेरी के परिणाम सेट की सहायता से संग्रहित प्रक्रिया में जोड़ा गया है -

mysql> बनाने की प्रक्रिया दिखाएं Delete_studentinfo\G**************************** 1. पंक्ति ********* **** प्रक्रिया:Delete_studentinfo sql_mode:ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_UTION D प्रक्रिया बनाएं:`Delete_studentinfo` (p_id INT में) टिप्पणी 'रिकॉर्ड को हटा रहा है' छात्र_जानकारी से शुरू करें जहां आईडी =p_id;ENDcharacter_set_client:cp850collation_connection:cp850_general_ci डेटाबेस संयोजन:latin1_swedish_ci1 पंक्ति सेट (0.00 सेकंड) में सेट (0.00 सेकंड) में 
  1. हम फैक्टोरियल की गणना करने के लिए MySQL संग्रहीत कार्यविधि कैसे बना सकते हैं?

    mysql> DELIMITER // mysql> CREATE PROCEDURE get_factorial(IN N INT)     -> BEGIN     ->    SET @@GLOBAL.max_sp_recursion_depth = 255;     ->    SET @@session.max_sp_recursion_depth = 255;     ->     ->  

  1. हम एक MySQL संग्रहीत फ़ंक्शन को कैसे बदल सकते हैं?

    अगर हमारे पास ALTER ROUTINE विशेषाधिकार हैं तो हम ALTER FUNCTION क्वेरी की मदद से MySQL के स्टोर किए गए फंक्शन को बदल सकते हैं। इसका सिंटैक्स इस प्रकार है - सिंटैक्स ALTER FUNCTION function_name [characteristic ...] characteristic:    { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL

  1. एक टेबल बनाने के लिए MySQL संग्रहीत प्रक्रिया?

    तालिका बनाने वाली संग्रहीत कार्यविधि बनाने के लिए क्वेरी निम्नलिखित है। यहां, हम तीन कॉलम वाली एक टेबल बना रहे हैं, उनमें से एक है Id - DELIMITER; अब आप कॉल कमांड की मदद से संग्रहित प्रक्रिया को कॉल कर सकते हैं - कॉल Stored_Procedure_CreatingTable();क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.18 सेकंड