我們怎樣才能改變 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 查詢中可以清楚地看到,已將註釋新增到函式“階乘”的定義中。
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP