本文概述
MariaDB函数是一个存储程序, 用于将参数传递给它们并返回一个值。
我们可以在MariaDB中创建和删除函数。
MariaDB创建功能
你可以在MariaDB中创建自己的函数:
句法:
CREATE
[ DEFINER = { CURRENT_USER | user_name } ]
FUNCTION function_name [ (parameter datatype [, parameter datatype]) ]
RETURNS return_datatype [ LANGUAGE SQL
| DETERMINISTIC
| NOT DETERMINISTIC
| { CONTAINS SQL
| NO SQL
| READS SQL DATA
| MODIFIES SQL DATA }
| SQL SECURITY { DEFINER | INVOKER }
| COMMENT 'comment_value'
BEGIN
declaration_section
executable_section
END;
参数说明
例:
在MariaDB数据库中创建函数CalcValue。
DELIMITER //
CREATE FUNCTION CalcValue ( starting_value INT )
RETURNS INT DETERMINISTIC
BEGIN
DECLARE total_value INT;
SET total_value = 0;
label1: WHILE total_value <= 3000 DO
SET total_value = total_value + starting_value;
END WHILE label1;
RETURN total_value;
END; //
DELIMITER ;
DEFINER子句:这是一个可选子句。如果未指定, 则定义者是创建函数的用户。如果要指定其他定义器, 则必须包括DEFINER子句, 其中user_name是函数的定义器。
function_name:它指定要在MariaDB中分配给此函数的名称。
return_datatype:指定函数返回值的数据类型。
语言SQL:该语言具有可移植性, 但对功能没有影响。
确定性:这意味着该函数将始终在给定一组输入参数的情况下返回一个结果。
不确定:这意味着在给定一组输入参数的情况下, 该函数可能返回不同的结果。结果可能会受到表数据, 随机数或服务器变量的影响。
包含SQL:这是默认值。它是一条信息性的子句, 告诉MariaDB该函数包含SQL, 但是数据库未验证这是否正确。
NO SQL:不会使用的信息性子句, 不会对函数产生影响。
READS SQL DATA:信息性子句, 告诉MariaDB该函数将使用SELECT语句读取数据, 但不修改任何数据。
MODIFIES SQL DATA:一条信息性条款, 告诉MariaDB该函数将使用INSERT, UPDATE, DELETE或其他DDL语句修改SQL数据。
clarification_section:函数中声明局部变量的位置。
可执行文件部分:在函数中输入函数代码的位置。
验证
你可以看到程序已成功执行, 并且创建了新功能。
现在, 你可以按以下方式引用新功能:
MariaDB DROP功能
你可以非常轻松地从数据库中删除创建的函数。
句法:
DROP FUNCTION [ IF EXISTS ] function_name;
参数说明
function_name:它指定要删除的函数的名称。
例:
我们创建了一个函数名称” CalcValue”。现在删除该函数。
DROP FUNCTION CalcValue;
现在你可以看到该功能已删除, 不再存在于列表中。
评论前必须登录!
注册