Maison >base de données >tutoriel mysql >instruction de procédure stockée mysql

instruction de procédure stockée mysql

PHPz
PHPzoriginal
2023-05-23 09:02:36646parcourir

MySQL est un système de gestion de bases de données relationnelles largement utilisé. Une procédure stockée est une collection d'instructions SQL précompilées qui peuvent être exécutées dans MySQL. L'instruction de procédure stockée est l'instruction utilisée pour créer et définir des procédures stockées.

Les instructions de procédure stockée MySQL peuvent réduire considérablement la pression sur le serveur de base de données et améliorer l'efficacité de l'application. Ils permettent aux développeurs d'encapsuler certaines commandes et tâches couramment utilisées dans un seul objet afin qu'elles puissent être facilement invoquées en cas de besoin.

Examinons de plus près les instructions de procédure stockée MySQL.

Créer une procédure stockée

Pour créer une procédure stockée, vous devez utiliser la commande CREATE PROCEDURE. Cette commande inclut le nom de la procédure stockée, les paramètres d'entrée, les paramètres de sortie et le corps de la procédure. La syntaxe est la suivante : CREATE PROCEDURE 命令。这个命令包括存储过程的名称、输入参数、输出参数以及过程体。语法如下:

CREATE PROCEDURE procedure_name ([IN | OUT | INOUT] parameter_name data_type,
    [IN | OUT | INOUT] parameter_name data_type, ...)
BEGIN
    -- 过程体
END;

其中,procedure_name 是自定义的用于标识存储过程的名称,parameter_name 是输入、输出或输入/输出参数的名称,data_type 是参数的数据类型。这些参数的前缀可以用于指定参数是输入、输出还是输入/输出参数。

下面是一个简单的例子:

CREATE PROCEDURE HelloWorld (IN `name` VARCHAR(20))
BEGIN
    SELECT CONCAT('Hello, ', `name`);
END;

调用存储过程

一旦创建了存储过程,就可以使用 CALL 命令来调用它。基本语法如下:

CALL procedure_name([parameter_value, parameter_value, ...]);

其中,procedure_name 是要调用的存储过程的名称,parameter_value 是要传递给存储过程的参数。如果存储过程有输出参数,可以使用 SELECT 语句来返回结果。

下面是一个简单的例子:

CALL HelloWorld('Alice');

修改存储过程

如果需要更新存储过程的主体或参数,可以使用 ALTER PROCEDURE 命令。基本语法如下:

ALTER PROCEDURE procedure_name ([IN | OUT | INOUT] parameter_name data_type,
    [IN | OUT | INOUT] parameter_name data_type, ...)
BEGIN
    -- 过程体
END;

这个语法与 CREATE PROCEDURE 命令非常相似,唯一的区别是在使用 ALTER PROCEDURE 命令时不需要指定存储过程名称。

下面是一个简单的例子:

ALTER PROCEDURE HelloWorld (IN `new_name` VARCHAR(20))
BEGIN
    SELECT CONCAT('Hello, ', `new_name`);
END;

删除存储过程

如果不再需要存储过程,可以使用 DROP PROCEDURE 命令来删除它。基本语法如下:

DROP PROCEDURE procedure_name;

其中,procedure_name

DROP PROCEDURE HelloWorld;

où, procedure_name est un nom personnalisé utilisé pour identifier la procédure stockée, parameter_name est le nom de l'entrée, de la sortie ou de l'entrée/sortie paramètre, data_type est le type de données du paramètre. Les préfixes de ces paramètres peuvent être utilisés pour spécifier si le paramètre est un paramètre d'entrée, de sortie ou d'entrée/sortie.

Voici un exemple simple :

rrreee

Appel d'une procédure stockée

Une fois une procédure stockée créée, elle peut être appelée à l'aide de la commande CALL. La syntaxe de base est la suivante : 🎜rrreee🎜Où, procedure_name est le nom de la procédure stockée à appeler, et parameter_value est le paramètre à transmettre à la procédure stockée. . Si la procédure stockée a des paramètres de sortie, vous pouvez utiliser l'instruction SELECT pour renvoyer les résultats. 🎜🎜Voici un exemple simple : 🎜rrreee🎜Modifier une procédure stockée🎜🎜Si vous devez mettre à jour le corps ou les paramètres d'une procédure stockée, vous pouvez utiliser la commande ALTER PROCEDURE. La syntaxe de base est la suivante : 🎜rrreee🎜Cette syntaxe est très similaire à la commande CREATE PROCEDURE La seule différence est que vous n'avez pas besoin de spécifier le nom de la procédure stockée lors de l'utilisation de ALTER. Commande PROCÉDURE. 🎜🎜Voici un exemple simple : 🎜rrreee🎜Suppression d'une procédure stockée🎜🎜Si une procédure stockée n'est plus nécessaire, vous pouvez utiliser la commande DROP PROCEDURE pour la supprimer. La syntaxe de base est la suivante : 🎜rrreee🎜Où, procedure_name est le nom de la procédure stockée à supprimer. 🎜🎜Voici un exemple simple : 🎜rrreee🎜Résumé🎜🎜Les instructions de procédure stockée MySQL peuvent être utilisées pour créer des procédures stockées contenant un ensemble prédéfini d'instructions SQL qui peuvent être facilement appelées si nécessaire. Les procédures stockées peuvent améliorer l'efficacité des applications et réduire la charge sur le serveur. Cet article fournit une syntaxe de base et des exemples pour créer, appeler, modifier et supprimer des procédures stockées. Ces commandes peuvent être utilisées dans la base de données MySQL selon les besoins. 🎜

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