个性化阅读
专注于IT技术分析

MariaDB函数

本文概述

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函数1

验证

你可以看到程序已成功执行, 并且创建了新功能。

MariaDB函数2

现在, 你可以按以下方式引用新功能:

MariaDB函数3

MariaDB DROP功能

你可以非常轻松地从数据库中删除创建的函数。

句法:

DROP FUNCTION [ IF EXISTS ] function_name;

参数说明

function_name:它指定要删除的函数的名称。

例:

我们创建了一个函数名称” CalcValue”。现在删除该函数。

DROP FUNCTION CalcValue;
MariaDB函数4

现在你可以看到该功能已删除, 不再存在于列表中。

MariaDB函数5
赞(0)
未经允许不得转载:srcmini » MariaDB函数

评论 抢沙发

评论前必须登录!