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

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


अगर हमारे पास ALTER ROUTINE विशेषाधिकार हैं तो हम ALTER FUNCTION क्वेरी की मदद से MySQL के स्टोर किए गए फंक्शन को बदल सकते हैं। इसका सिंटैक्स इस प्रकार है -

सिंटैक्स

ALTER FUNCTION function_name [characteristic ...]
characteristic:
   { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
| SQL SECURITY { DEFINER | INVOKER }
| COMMENT 'string'

यहां function_name उस फ़ंक्शन का नाम है जिसे हम बदलना चाहते हैं।

ALTER FUNCTION स्टेटमेंट एक स्टोर किए गए फ़ंक्शन के सिंटैक्स में ऊपर परिभाषित विशेषताओं को बदल सकता है। हम ALTER FUNCTION स्टेटमेंट में एक से अधिक बदलाव निर्दिष्ट कर सकते हैं। लेकिन हम इस कथन के साथ फ़ंक्शन के पैरामीटर या बॉडी को नहीं बदल सकते हैं। इसे स्पष्ट करने के लिए हम निम्नलिखित उदाहरण में फ़ंक्शन नाम 'फैक्टोरियल' में टिप्पणियां जोड़ रहे हैं -

उदाहरण

mysql> ALTER FUNCTION factorial COMMENT 'Can accept fraction values';
Query OK, 0 rows affected (0.00 sec)

mysql> Show Create Function factorial\G
*************************** 1. row ***************************
       Function: factorial
       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 Function: CREATE DEFINER=`root`@`localhost` FUNCTION `factorial`(n DECIMAL(3,0)) RETURNS decimal(20,0)
DETERMINISTIC
COMMENT 'Can accept fraction values'
BEGIN
DECLARE factorial DECIMAL(20,0) DEFAULT 1;
DECLARE counter DECIMAL(3,0);
SET counter = n;
      factorial_loop: REPEAT
SET factorial = factorial * counter;

SET counter = counter - 1;
   UNTIL counter = 1
END REPEAT;
   RETURN factorial;
END

character_set_client: cp850
collation_connection: cp850_general_ci
  Database Collation: latin1_swedish_ci
1 row in set (0.00 sec)

CREAT FUNCTION क्वेरी से, यह स्पष्ट है कि टिप्पणी को फ़ंक्शन 'फैक्टोरियल' की परिभाषा में जोड़ा गया है।


  1. हम डेटाबेस क्वेरी में MySQL संग्रहीत फ़ंक्शन का उपयोग कैसे कर सकते हैं?

    इसे उस उदाहरण का अनुसरण करके समझा जा सकता है जिसमें हमने लाभ की गणना करने के लिए एक फ़ंक्शन लाभ बनाया है और उस फ़ंक्शन का उपयोग करके तालिका item_list के डेटा पर लागू किया है। इसे डेटाबेस क्वेरी में। उदाहरण आइटम_सूची से * चुनें;+-----------+-------+------- +| Item_name | कीमत | लागत |+-----------+--

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

    यदि हमारे पास ALTER ROUTINE विशेषाधिकार हैं तो DROP FUNCTION स्टेटमेंट की मदद से, हम एक MySQL संग्रहीत फ़ंक्शन को हटा सकते हैं। इसका सिंटैक्स इस प्रकार हो सकता है - सिंटैक्स DROP FUNCTION [IF EXISTS] function_name यहाँ function_name उस फंक्शन का नाम है जिसे हम अपने डेटाबेस से हटाना चाहते हैं। उदाहर

  1. MySQL संग्रहीत जेनरेटेड कॉलम जोड़ने के लिए हम तालिका को कैसे बदल सकते हैं?

    एक तालिका में MySQL संग्रहीत जेनरेटेड कॉलम जोड़ने के लिए, हम डेटा प्रकार के बाद एएस (एक्सप्रेशन) जोड़ने के लिए एक कॉलम जोड़ने के समान सिंटैक्स का उपयोग कर सकते हैं। इसका सिंटैक्स इस प्रकार होगा - सिंटैक्स ALTER TABLE table_name ADD COLUMN column_name AS(expression)STORED; उदाहरण mysql> ALTER TABL