Maison > base de données > tutoriel mysql > Comment créer une fonction dans MySQL

Comment créer une fonction dans MySQL

WBOY
Libérer: 2023-05-30 10:34:05
avant
3532 Les gens l'ont consulté

    Comment créer une fonction dans Mysql

    DELIMITER $$
    DROP FUNCTION IF EXISTS genPerson$$
    CREATE FUNCTION genPerson(name varchar(20)) RETURNS varchar(50)
    BEGIN
      DECLARE str VARCHAR(50) DEFAULT '';
      SET @tableName=name;
      SET str=CONCAT('create table ', @tableName,'(id int, name varchar(20));');
      return str;
    END $$
    DELIMITER ;
    Copier après la connexion

    En ce qui concerne le SQL dans l'image ci-dessus

    (1) DELIMITER $$ définit le terminateur. Le terminateur par défaut de MySQL est un point-virgule, mais un point-virgule peut être utilisé dans le corps de la fonction. Pour éviter les conflits, des terminateurs supplémentaires doivent être définis.

    (2) SUPPRIMER LA FONCTION SI EXISTE genPerson$$ Si la fonction genPerson existe déjà, supprimez-la.

    (3) CREATE FUNCTION crée la fonction genPerson Le paramètre de la fonction est name et la valeur de retour est varchar(50).

    (4) Le corps de la fonction est placé entre BEGIN et END.

    (5) DECLARE déclare une variable, le type str est varchar(50) et la valeur par défaut est vide.

    (6) CONCAT concatène plusieurs chaînes.

    (7) RETURN renvoie la chaîne concaténée str.

    Comment créer une fonction dans MySQL

    Cela peut être vu à partir des résultats d'exécution

    Comment créer une fonction dans MySQL

    Mysql ne peut pas créer le code d'erreur de fonction 1418

    Création d'une fonction dans MySQL, code d'erreur : 1418

    Cette fonction n'a aucun DETERMINISTIC, NO SQL, ou READS SQL DATA dans sa déclaration et la journalisation binaire est activée (vous *pourriez* vouloir utiliser la variable log_bin_trust_function_creators la moins sûre) Cela signifie que la fonction de création de fonction n'est pas activée.

    Solution

    1. Vérifiez si la fonction de création est activée

    show variables like '%func%';
    -------------------------------------------
    +---------------------------------+-------+
    | Variable_name                   | Value |
    +---------------------------------+-------+
    | log_bin_trust_function_creators | OFF   |
    +---------------------------------+-------
    Copier après la connexion

    2 Allumez

    SET GLOBAL log_bin_trust_function_creators = 1;
    Copier après la connexion

    Vérifiez à nouveau

    show variables like '%func%';
    -------------------------------------------
    +---------------------------------+-------+
    | Variable_name                   | Value |
    +---------------------------------+-------+
    | log_bin_trust_function_creators | ON   |
    +---------------------------------+-------
    Copier après la connexion
    .

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    Étiquettes associées:
    source:yisu.com
    Déclaration de ce site Web
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
    Tutoriels populaires
    Plus>
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal