MySQL CREATE FUNCTION 语法及示例

MySQL CREATE FUNCTION 语法及示例
MySQL CREATE FUNCTION 用于在 MySQL 数据库中创建自定义函数。函数是一段可以重复使用的代码,它可以接收一个或多个输入参数,然后根据输入参数进行一些操作,最后返回一个结果。通过自定义函数,我们可以简化重复操作,实现更灵活的功能。
阅读更多:MySQL 教程
语法
MySQL CREATE FUNCTION 语法如下:
CREATE FUNCTION function_name (input_parameters)
RETURNS data_type
BEGIN
-- function_body
END;
其中,function_name 为自定义函数的名称;input_parameters 为自定义函数接收的输入参数,并且可以有多个;data_type 为函数返回结果的数据类型;function_body 为函数体,即函数执行的具体操作。
例如,我们可以创建一个简单的函数用于计算两个数的和:
CREATE FUNCTION sum (a INT, b INT)
RETURNS INT
BEGIN
RETURN a + b;
END;
在上述例子中,我们创建了一个名为 sum 的函数,它接收两个整数 a 和 b,然后返回它们的和。
示例
以下是一些使用 MySQL 自定义函数的示例:
示例 #1
创建一个自定义函数,用于计算任意两个数的乘积:
CREATE FUNCTION multiply (a FLOAT, b FLOAT)
RETURNS FLOAT
BEGIN
RETURN a * b;
END;
示例 #2
创建一个自定义函数,用于统计指定城市的客户数量:
CREATE FUNCTION count_customers (city_name VARCHAR(50))
RETURNS INT
BEGIN
DECLARE customer_count INT DEFAULT 0;
SELECT COUNT(*) INTO customer_count FROM customers WHERE city = city_name;
RETURN customer_count;
END;
示例 #3
创建一个自定义函数,用于获取指定订单的总价格:
CREATE FUNCTION order_total_price (order_id INT)
RETURNS DECIMAL(10, 2)
BEGIN
DECLARE total_price DECIMAL(10, 2) DEFAULT 0.00;
SELECT SUM(price * quantity) INTO total_price FROM order_details WHERE order_id = order_id;
RETURN total_price;
END;
总结
MySQL CREATE FUNCTION 是创建自定义函数的关键字,可以用于实现一些特定的功能需求。在使用自定义函数时,需要合理选择输入参数和返回结果的数据类型,以及编写正确的函数体。同时,我们还可以通过 IF、CASE、WHILE 等关键字实现更复杂的函数逻辑,以满足更高级的需求。