存储函数和存储过程
存储函数
定义存储函数执行 SQL 语句
sql
CREATE FUNCTION 存储函数名称([参数列表])
RETURNS 返回值类型
BEGIN
函数体内容
END
sql
mysql> delimiter $
mysql> CREATE FUNCTION avg_score(s VARCHAR(100))
-> RETURNS DOUBLE
-> BEGIN
-> RETURN (SELECT AVG(score) FROM student_score WHERE subject = s);
-> END $
Query OK, 0 rows affected (0.00 sec)
mysql> delimiter ;
函数调用
sql
mysql> SELECT avg_score('母猪的产后护理');
+------------------------------------+
| avg_score('母猪的产后护理') |
+------------------------------------+
| 73 |
+------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT avg_score('论萨达姆的战争准备');
+------------------------------------------+
| avg_score('论萨达姆的战争准备') |
+------------------------------------------+
| 73.25 |
+------------------------------------------+
1 row in set (0.00 sec)
mysql>
查看和删除函数
查看函数
sql
SHOW FUNCTION STATUS [LIKE 需要匹配的函数名]
查看函数的定义
sql
SHOW CREATE FUNCTION 函数名
删除函数
sql
DROP FUNCTION 函数名