Maison  >  Article  >  base de données  >  Comment créer une fonction stockée dans MySQL

Comment créer une fonction stockée dans MySQL

清浅
清浅original
2019-04-30 16:07:387275parcourir

Méthode MySQL pour créer une fonction stockée : [CREATE FUNCTION function_name(param1) RETURNS datatype DETERMINISTIC instructions SQL]. Une fonction stockée est elle-même une fonction de sortie, elle ne peut donc pas avoir de paramètres de sortie.

Comment créer une fonction stockée dans MySQL

[Cours recommandé : Tutoriel vidéo MySQL]

Fonction stockée

Les fonctions stockées sont très similaires aux procédures stockées. Ce sont des fragments de code composés d'instructions SQL et d'instructions procédurales, et peuvent être appelées par des applications et d'autres instructions SQL. Puisque la fonction de stockage elle-même est une fonction de sortie, elle ne peut pas avoir de paramètres de sortie. De plus, la fonction de stockage peut être appelée directement sans instruction d'appel.

Comment créer une fonction stockée dans MySQL

Création d'une fonction stockée

Grammaire

CREATE FUNCTION function_name(param1,param2,…)    
RETURNS datatype   
[NOT] DETERMINISTIC statements
SQL

Analyse grammaticale :

La clause CREATE FUNCTION est suivie du nom de la fonction stockée spécifiée

(param1, param2,…) : Représente tous les paramètres de la fonction stockée. Les paramètres sont tous des paramètres IN. Le modificateur IN, OUT ou INOUT ne peut pas être spécifié pour un paramètre.

Type de données RETURNS : Indique : le type de données de la valeur de retour, il peut s'agir de n'importe quel type de données MySQL valide

[NON] DETERMINISTIC : Indique que le résultat n'est pas défini, la même entrée peut obtenir sortie de résultats différents. Si aucune valeur n'est spécifiée, la valeur par défaut est [NOT] DETERMINISTIC

SQL : Corps du programme

Exemple : Créez une fonction stockée nommée demo, qui renvoie la requête de l'instruction SELECT As par conséquent, le type numérique est une chaîne. Le code est le suivant :

mysql> DELIMITER  //
mysql> CREATE  FUNCTION  demo()
    -> RETURNS  CHAR(50)
    -> RETURN  (  SELECT  s_name  FROM  suppliers  WHERE  s_call='48075');
    -> //
Query OK, 0 rows affected (0.11 sec)
mysql> DELIMITER  ;

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!

Déclaration:
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