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

हम फैक्टोरियल की गणना करने के लिए 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 //
mysql> CREATE PROCEDURE factorial_recursive(IN N INT,OUT factorial INT)
    -> BEGIN
    ->    IF N = 1 THEN
    ->       SET factorial := 1;
    ->    ELSE
    ->       CALL factorial_recursive (N-1, factorial);
    ->       SET factorial := N * factorial;
    ->    END IF;
    -> END //
Query OK, 0 rows affected (0.00 sec)

mysql> DELIMITER ;
mysql> Call get_factorial(10);
+--------------+
| @factorial   |
+--------------+
|      3628800 |
+--------------+
1 row in set (0.11 sec)
Query OK, 0 rows affected (0.12 sec)

mysql> Call get_factorial(5);
+-------------+
| @factorial  |
+-------------+
|         120 |
+-------------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.00 sec)

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

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

  1. एक MySQL संग्रहीत कार्यविधि इसके अंदर किसी अन्य MySQL संग्रहीत कार्यविधि को कैसे कॉल कर सकती है?

    यह बहुत संभव है कि एक MySQL संग्रहीत कार्यविधि इसके अंदर किसी अन्य MySQL संग्रहीत कार्यविधि को कॉल कर सकती है। इसे प्रदर्शित करने के लिए, हम एक उदाहरण ले रहे हैं जिसमें एक संग्रहीत कार्यविधि last_insert_id का पता लगाने के लिए किसी अन्य संग्रहीत कार्यविधि को कॉल करेगी। उदाहरण mysql> Create table e

  1. हम किसी विशेष MySQL संग्रहीत फ़ंक्शन का स्रोत कोड कैसे देख सकते हैं?

    SHOW CREATE FUNCTION स्टेटमेंट की मदद से हम किसी स्टोर किए गए फंक्शन का सोर्स कोड देख सकते हैं। इसे समझने के लिए हम क्वेरी में हैलो () नामक संग्रहीत फ़ंक्शन का उपयोग इस प्रकार कर रहे हैं - क्रिएट फंक्शन हैलो\G**************************** 1. पंक्ति ********* ****************** समारोह:हैलो sql_mode:O