Maison >base de données >tutoriel mysql >Interroger la procédure stockée MySQL

Interroger la procédure stockée MySQL

WBOY
WBOYoriginal
2023-05-14 11:45:09678parcourir

1. Présentation

La procédure stockée MySQL est une fonctionnalité très importante de la base de données MySQL. Elle peut encapsuler certaines instructions SQL qui doivent être exécutées fréquemment dans une unité pour une gestion et une utilisation faciles. Cet article explique comment interroger les procédures stockées MySQL.

2. Syntaxe de base pour interroger les procédures stockées

La syntaxe de base pour interroger les procédures stockées MySQL est la suivante :

SHOW PROCEDURE STATUS [LIKE 'pattern'];

motif est le modèle correspondant au nom du processus, et vous pouvez utiliser le caractère générique % et _. pattern为过程名的匹配模式,可以使用通配符%_

三、查询存储过程的参数详解

使用上述语法查询存储过程时,可以获取到包括以下列的结果:

列名 描述
Db 存储过程所在的数据库名
Name 存储过程的名称
Type 如果存储过程有输入参数或输出参数,则为PROCEDURE,否则为FUNCTION
Definer 存储过程的定义者
Modified 上次修改存储过程的时间
Created 创建存储过程的时间
Security_type 存储过程的安全性类型:DEFINER或INVOKER
Comment 存储过程的注释

四、实例

假设我们的MySQL数据库中有一个存储过程,名称为get_total,代码如下:

CREATE PROCEDURE `get_total`(IN `p_price` INT, OUT `p_total` DECIMAL(10,2))
BEGIN
    SELECT SUM(price) INTO p_total FROM orders WHERE price>p_price;
END;

我们可以使用以下语句查询该存储过程的信息:

SHOW PROCEDURE STATUS WHERE Name='get_total';

查询结果如下:

+-----------+----------+-------+---------+---------------------+---------------------+----------------+---------+
| Db        | Name     | Type  | Definer | Modified            | Created             | Security_type  | Comment |
+-----------+----------+-------+---------+---------------------+---------------------+----------------+---------+
| test_db   | get_total| PROCEDURE | root@%   | 2019-01-01 00:00:00 | 2018-01-01 00:00:00 | DEFINER        | a test  |
+-----------+----------+-------+---------+---------------------+---------------------+----------------+---------+

通过该结果,我们可以获取到存储过程get_total的相关信息,包括所在的数据库test_db,过程类型为PROCEDURE,定义者为root@%,最近修改时间为2019-01-01 00:00:00,创建时间为2018-01-01 00:00:00,安全类型为DEFINER以及注释为a test

3. Explication détaillée des paramètres d'interrogation des procédures stockées

Lorsque vous utilisez la syntaxe ci-dessus pour interroger les procédures stockées, vous pouvez obtenir des résultats comprenant les colonnes suivantes :

Nom de la colonne th> Description
Db Le nom de la base de données où se trouve la procédure stockée
Nom Le nom de la procédure stockée
Type Si la procédure stockée a des paramètres d'entrée ou des paramètres de sortie, c'est PROCEDURE, sinon Pour FONCTION
Définir Le définisseur de la procédure stockée
Modifié L'heure à laquelle la procédure stockée a été modifiée pour la dernière fois
Créée L'heure à laquelle la procédure stockée a été créé
Security_type Type de sécurité de la procédure stockée : DEFINER ou INVOKER
Commentaire Commentaire de la procédure stockée
4. Exemple🎜🎜Supposons qu'il existe une procédure stockée dans notre base de données MySQL nommée get_total. Le code est le suivant : 🎜rrreee🎜Nous pouvons utiliser l'instruction suivante pour interroger les informations de la procédure stockée : 🎜rrreee🎜Les résultats de la requête sont les suivants : 🎜rrreee🎜Grâce à ce résultat, nous pouvons obtenir les informations pertinentes de la procédure stockée get_total, y compris la base de données test_db où il se trouve. Le type de processus est PROCEDURE, le définisseur est root@%, l'heure de la dernière modification est <. code>2019-01-01 00:00:00, et l'heure de création est 2018-01 -01 00:00:00, type de sécurité DEFINER et commentaire un test . 🎜🎜5. Résumé🎜🎜Grâce aux exemples ci-dessus, nous pouvons voir que l'interrogation des procédures stockées MySQL est très simple, il suffit d'utiliser l'instruction SHOW PROCEDURE STATUS. Grâce à une requête, nous pouvons obtenir les informations pertinentes de la procédure stockée, ce qui facilite la gestion et l'utilisation ultérieures de la procédure stockée. Dans les applications pratiques, les procédures stockées sont l'une des fonctionnalités indispensables et importantes de la base de données MySQL. Elles peuvent améliorer considérablement l'efficacité et la sécurité des opérations de la base de données, permettant aux développeurs de se concentrer davantage sur la mise en œuvre de la logique métier. 🎜

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
Article précédent:Linux supprimer MySQLArticle suivant:Linux supprimer MySQL