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

MySQL स्टोर्ड प्रोसीजर को कैसे अल्टर करें?


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

mysql> SHOW CREATE PROCEDURE Delete_studentinfo\G
*************************** 1. row ***************************
    Procedure: 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_ENGINE_SUBSTITUTION
    Create Procedure: CREATE DEFINER=`root`@`localhost` PROCEDURE `Delete_studentinfo`( IN p_id INT)
BEGIN DELETE FROM student_info WHERE ID=p_id; END
character_set_client: cp850 collation_connection: cp850_general_ci
Database Collation: latin1_swedish_ci
1 row in set (0.01 sec)

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

mysql> ALTER PROCEDURE Delete_studentinfo
    -> COMMENT 'deleting the record'//
Query OK, 0 rows affected (0.03 sec)

अब, इसकी पुष्टि की जा सकती है कि निम्न क्वेरी के परिणाम सेट की मदद से स्टोर्ड प्रोसीजर में टिप्पणी जोड़ी गई है:

mysql> SHOW CREATE PROCEDURE Delete_studentinfo\G
*************************** 1. row ***************************
    Procedure: 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_ENGINE_SUBSTITUTION
    Create Procedure: CREATE DEFINER=`root`@`localhost` PROCEDURE `Delete_studentinfo`( IN p_id INT)
    COMMENT 'deleting the record'
BEGIN DELETE FROM student_info WHERE ID=p_id; END
character_set_client: cp850 collation_connection: cp850_general_ci
Database Collation: latin1_swedish_ci
1 row in set (0.00 sec)

  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; CALL factorial_recursive(N, @factorial); SELECT @factorial; END //Query OK, 0 rows affected (0.00 sec)mysql> DELIMITER //my

  1. - MySQL स्टोर्ड फंक्शन को कैसे अल्टर करें?

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

  1. - टेबल बनाने के लिए MySQL स्टोर्ड प्रोसीजर

    MySQL में टेबल बनाने वाला स्टोर्ड प्रोसीजर टेबल बनाने वाले स्टोर्ड प्रोसीजर को बनाने का क्वेरी। यहां हम तीन कॉलम वाली एक टेबल बना रहे हैं, जिनमें से एक Id है: DELIMITER ; अब आप CALL कमांड की मदद से स्टोर्ड प्रोसीजर को कॉल कर सकते हैं: call Stored_Procedure_CreatingTable(); Query OK, 0 rows affecte