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'];
où 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
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 |
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!