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 स्टेटमेंट में एक से अधिक परिवर्तन निर्दिष्ट कर सकते हैं। लेकिन हम इस स्टेटमेंट से फंक्शन के पैरामीटर्स या बॉडी को नहीं बदल सकते। इसे स्पष्ट करने के लिए हम निम्न उदाहरण में 'factorial' नामक फंक्शन में टिप्पणी जोड़ रहे हैं:

उदाहरण

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)

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


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

    स्टोर्ड फंक्शन को किसी भी SQL क्वेरी में बिल्ट-इन फंक्शन की तरह उपयोग किया जा सकता है। नीचे profit फंक्शन बनाकर item_list टेबल पर लागू करने का उदाहरण है। फंक्शन निर्माण: END // Query OK, 0 rows affected (0.07 sec) टेबल डेटा: Select * from item_list; +-----------+-------+-------+ | Item_name | P

  1. - MySQL स्टोर्ड फंक्शन को डेटाबेस से कैसे डिलीट करें?

    यदि आपके पास ALTER ROUTINE अधिकार है, तो DROP FUNCTION स्टेटमेंट से स्टोर्ड फंक्शन डिलीट कर सकते हैं। सिंटैक्स: DROP FUNCTION [IF EXISTS] function_name IF EXISTS क्लॉज वैकल्पिक है - यदि फंक्शन मौजूद नहीं है तो एरर रोकता है। उदाहरण: DROP FUNCTION if exists Hello1; Query OK, 0 rows affected (0.70

  1. - MySQL स्टोर्ड GENERATED COLUMNS जोड़ने के लिए टेबल को कैसे बदलें?

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