কম্পিউটার টিউটোরিয়াল

MySQL স্টোরড ফাংশন আল্টার (পরিবর্তন) করা

ALTER ROUTINE প্রিভিলেজ থাকলে ALTER FUNCTION কোয়েরি দিয়ে স্টোরড ফাংশন পরিবর্তন করা যায়। সিনট্যাক্স:

সিনট্যাক্স

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 দিয়ে কেবল ক্যারেক্টারিস্টিক (characteristics) পরিবর্তন করা যায়, প্যারামিটার বা ফাংশন বডি পরিবর্তন করা যায় না।

উদাহরণ

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

SHOW CREATE FUNCTION-এ কমেন্ট যোগ হয়ে গেছে দেখা যাচ্ছে।

  1. MySQL স্টোরড ফাংশন লিখে একটি প্রদত্ত সংখ্যার ফ্যাক্টোরিয়াল কীভাবে বের করবেন?

  2. ডাটাবেস কোয়েরিতে MySQL স্টোরড ফাংশন ব্যবহারের পদ্ধতি

  3. MySQL ডাটাবেস থেকে স্টোরড ফাংশন ডিলিট করার পদ্ধতি

  4. MySQL স্টোরড জেনারেটেড কলাম যোগ করতে টেবিল কীভাবে অ্যাল্টার করবেন?