Creare funzioni in MariaDB e MySQL

Mattepuffo's logo
Creare funzioni in MariaDB e MySQL

Creare funzioni in MariaDB e MySQL

n questo articolo vediamo un esempio di creazione di una funzione in MariaDB e MySQL.

Le funzioni possono essere molto utili per svolgere compiti molto specifici.

Rispetto ad una query "secca", inoltre, vengono cachate, e quindi sono anche più veloci.

Tenete in considerazione che una funzione può tornare un valore, non un record set.

Questa è una che uso in produzione:

DELIMITER //
DROP FUNCTION IF EXISTS fn_get_user_cessionario //
CREATE FUNCTION fn_get_user_cessionario(
    utente INT,
    chiave VARCHAR(50)
)
    RETURNS VARCHAR(100)
BEGIN
    DECLARE st VARCHAR(100) DEFAULT '';

    SELECT serr_ragsoc
    INTO st
    FROM serramentisti
    WHERE serr_id = (
        SELECT ua_valore
        FROM users_attrs
        WHERE ua_utente = utente
          AND ua_chiave = chiave
        ORDER BY ua_data_aggiunta DESC
        LIMIT 1
    );

    RETURN st;
END

Con l'istruzione DROP, verrà cancellata la funzione se già esiste.

Così è come se la riscrivessimo.

Enjoy!


Condividi

Commentami!