MariaDB: Función

Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.

MariaDB: Función

Este tutorial de MariaDB explica cómo Crear y eliminar funciones En MariaDB, con sintaxis y ejemplos.

¿Qué son las funciones en MariaDB?

En MariaDB, una función es un procedimiento almacenado al que puede pasar argumentos y devolver un valor.

crear función

Así como puede crear funciones en otros idiomas, puede crear sus propias funciones en MariaDB. Miremos más de cerca.

sintaxis

La sintaxis para crear una función en MariaDB es:

crear 
[ DEFINER = { CURRENT_USER | user_name } ] 
FUNCIÓN nombre de la función [ (parameter datatype [, parameter datatype]) ]devuelve tipo_datos de retorno [ 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;

DEFINER clause
Optional. If not specified, the definer is the user that created the function. If you wish to specify a different definer, you must include the DEFINER clause where user_name is the definer for the function.
function_name
The name to assign to this function in MariaDB.
parameter
One or more parameters passed into the function. When creating a function, all parameters are considered to be IN parameters (not OUT or INOUT parameters) where the parameters can be referenced by the function but can not be overwritten by the function.
return_datatype
The data type of the function’s return value.
LANGUAGE SQL
It is in the syntax for portability but will have no impact on the function.
DETERMINISTIC
It means that the function will always return one result given a set of input parameters.
NOT DETERMINISTIC
It means that the function may return a different result given a set of input parameters. The result may be affected by table data, random numbers or server variables.
CONTAINS SQL
It is the default. It is an informative clause that tells MariaDB that the function contains SQL, but the database does not verify that this is true.
NO SQL
An informative clause that is not used and will have no impact on the function.
READS SQL DATA
An informative clause that tells MariaDB that the function will read data using SELECT statements but does not modify any data.
MODIFIES SQL DATA
An informative clause that tells MariaDB that the function will modify SQL data using INSERT, UPDATE, DELETE, or other DDL statements.
declaration_section
The place in the function where you declare local variables.
executable_section
The place in the function where you enter the code for the function.

Example

Let’s look at an example that shows how to create a function in MariaDB:

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 ;

You could then reference your new function as follows:

SELECT CalcValue (1000);

Drop Function

Once you have created your function in MariaDB, you might find that you need to remove it from the database.

Syntax

The syntax to a drop a function in MariaDB is:

DROP FUNCTION [ IF EXISTS ] Nombre de la función;

function_name El nombre de la función a eliminar.

ejemplo

Veamos un ejemplo de cómo eliminar una función en MariaDB.

Por ejemplo:

DROP FUNCTION CalcValue;

Este ejemplo elimina la función denominada CalcValue.