1. Übersicht
Die gespeicherte MySQL-Prozedur ist eine sehr wichtige Funktion in der MySQL-Datenbank. Sie kann einige SQL-Anweisungen, die häufig ausgeführt werden müssen, zur einfachen Verwaltung und Verwendung kapseln. In diesem Artikel wird erläutert, wie gespeicherte MySQL-Prozeduren abgefragt werden.
2. Die grundlegende Syntax zum Abfragen gespeicherter Prozeduren
Die grundlegende Syntax zum Abfragen gespeicherter MySQL-Prozeduren lautet wie folgt:
SHOW PROCEDURE STATUS [LIKE 'pattern'];
where Muster
Für das passende Muster des Prozedurnamens können Sie die Platzhalterzeichen %
und _
verwenden. 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
Spaltenname | Beschreibung |
---|---|
Db | Wo sich die gespeicherte Prozedur befindet. Datenbankname |
Name | Name der gespeicherten Prozedur |
Typ | Wenn die gespeicherte Prozedur Eingabe- oder Ausgabeparameter hat, ist sie PROCEDURE, andernfalls ist sie FUNCTION |
Definer | The Definierer der gespeicherten Prozedur | tr>
Geändert | Der Zeitpunkt, zu dem die gespeicherte Prozedur zuletzt geändert wurde |
Erstellt | Der Zeitpunkt, zu dem die gespeicherte Prozedur erstellt wurde. |
Sicherheitstyp | Sicherheitstyp der gespeicherten Prozedur: DEFINER oder INVOKER |
Kommentar | Kommentare zu gespeicherten Prozeduren |
get_total
und der Code lautet wie folgt: #🎜🎜#rrreee#🎜🎜#Wir können die folgende Anweisung verwenden, um die abzufragen Informationen der gespeicherten Prozedur: #🎜🎜#rrreee#🎜🎜#Die Abfrageergebnisse lauten wie folgt: #🎜 🎜#rrreee#🎜🎜#Durch dieses Ergebnis können wir die relevanten Informationen der gespeicherten Prozedur get_total, einschließlich der Datenbank <code>test_db
, in der sie sich befindet. Der Prozesstyp ist PROCEDURE und der Definierer ist root@%
, die letzte Änderungszeit ist 2019-. 01-01 00:00:00
, und die Erstellungszeit ist 2018-01-01 00:00:00
, der Sicherheitstyp ist DEFINER und der Kommentar ist ein Test Code>. #🎜🎜##🎜🎜# 5. Zusammenfassung #🎜🎜##🎜🎜# Anhand der obigen Beispiele können wir sehen, dass das Abfragen gespeicherter MySQL-Prozeduren sehr einfach ist. Verwenden Sie einfach die SHOW PROCEDURE STATUS-Anweisung. Durch Abfrage können wir die relevanten Informationen der gespeicherten Prozedur erhalten, was die weitere Verwaltung und Nutzung der gespeicherten Prozedur erleichtert. In praktischen Anwendungen sind gespeicherte Prozeduren eine der unverzichtbaren Funktionen der MySQL-Datenbank. Sie können die Effizienz und Sicherheit von Datenbankoperationen erheblich verbessern, sodass sich Entwickler stärker auf die Implementierung der Geschäftslogik konzentrieren können. #🎜🎜#
Das obige ist der detaillierte Inhalt vonFragen Sie die gespeicherte MySQL-Prozedur ab. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!