分享下mysql中call语句在嵌套函数中的用法。
代码:
mysql> DELIMITER // mysql> CREATE FUNCTION myFunction (rush_ship INT(10)) RETURNS DECIMAL(10,2) //创建函数 -> BEGIN -> -> DECLARE rush_shipping_cost DECIMAL(10,2); -> -> CASE rush_ship -> WHEN 1 THEN -> SET rush_shipping_cost = 20.00; -> WHEN 2 THEN -> SET rush_shipping_cost = 15.00; -> WHEN 3 THEN -> SET rush_shipping_cost = 10.00; -> ELSE -> SET rush_shipping_cost = 0.00; -> END CASE; -> -> RETURN rush_shipping_cost; -> -> END -> // Query OK, 0 rows affected (0.00 sec) mysql> CREATE FUNCTION myFunction1 (item_sum DECIMAL(10,2)) //创建函数 -> RETURNS DECIMAL(10,1) -> BEGIN -> -> RETURN myFunction(1); //嵌套函数调用 -> -> END -> // Query OK, 0 rows affected (0.00 sec) mysql> DELIMITER ; mysql> select myFunction1(1); //调用函数 +----------------+ | myFunction1(1) | +----------------+ | 20.0 | +----------------+ 1 row in set (0.00 sec) mysql> drop function myFunction1; //删除mysql自定义函数 Query OK, 0 rows affected (0.00 sec) mysql> drop function myFunction; //删除mysql自定义函数 Query OK, 0 rows affected (0.00 sec)