Der einfachste Weg zum Debuggen gespeicherter Prozeduren in MySQL

Der einfachste Weg zum Debuggen gespeicherter Prozeduren in MySQL

Ein Kollege hat mir einmal gesagt, ich solle eine temporäre Tabelle verwenden, um variable Daten zum Anzeigen einzufügen, aber diese Methode ist zu umständlich und Mysql verfügt nicht über ein besseres Tool zum Debuggen gespeicherter Prozeduren. Ich habe heute gegoogelt und festgestellt, dass ich die Methode select + variable name zum Debuggen verwenden kann

Spezifische Methode:

Fügen Sie Ihrer gespeicherten Prozedur die folgende Anweisung hinzu:
Wählen Sie Variable1, Variable2 aus.

Geben Sie anschließend im mit MySQL mitgelieferten cmd-Programm „mysql>“ ein.
Rufen Sie den Namen Ihrer gespeicherten Prozedur auf (Eingabeparameter 1, @Ausgabeparameter). (Hinweis: Dies dient als Hilfe für neue Studierende: Wenn Ihre gespeicherte Prozedur Ausgabevariablen hat, müssen Sie nur @ und dann einen beliebigen Variablennamen hinzufügen.)
Sie werden feststellen, dass Ihr Variablenwert unter cmd gedruckt wurde. Einfach, oder? Haha, ich hoffe, das kann dir helfen.

Es gibt eine gespeicherte Prozedur wie folgt

PROZEDUR `p_next_id` ERSTELLEN (kind_name VARCHAR(30), i_length int, currentSeqNo VARCHAR(3), OUT o_result INT)
BEGINNEN 
     SET @a = NULL;
     SET @b = NULL;
     SELECT id INTO @a FROM t_seq WHERE Nummer= aktuelleSeqNr und Länge= i_Länge; WENN (@a ist null) DANN
            wähle min(id) in @a FROM t_seq, wobei Länge = i_Länge;
            Wähle eine Nummer in @b aus t_seq, wobei id = @a; sonst
        Wähle eine Nummer in @b aus t_seq, wobei id = @a+1 ist;        
     ENDE, WENN;        
     Wählen Sie @b in o_result aus.     
ENDE

Aufrufen gespeicherter Prozeduren in Navicat


Anweisungsaufruf schreiben
call p_next_id('t_factory',2,'0',@result); -- Die oben gespeicherte Prozedur enthält vier Parameter. Wenn Sie sie hier aufrufen, müssen Sie daher auch vier Parameter übergeben: Geben Sie den Wert des Eingabeparameters ein und verwenden Sie die Variable, um den Ausgabeparameter @result darzustellen.
select @result; – Dieser Satz zeigt den Variablenwert in der Konsole an
2. Fensterklick

Wenn Sie auf „Direkt ausführen“ klicken, geben Sie in das Popup-Eingabefeld Folgendes ein: „t_factory“, 2, „0“, @result

Nachverfolgen der Ausführungsschritte gespeicherter Prozeduren

MySQL verfügt im Gegensatz zu Oracle nicht über das Tool plsqldevelper zum Debuggen gespeicherter Prozeduren. Daher gibt es zwei einfache Möglichkeiten, den Ausführungsprozess zu verfolgen:

Verwenden Sie eine temporäre Tabelle, um den Debugvorgang aufzuzeichnen. Fügen Sie select @xxx direkt in die gespeicherte Prozedur ein und zeigen Sie die Ergebnisse in der Konsole an:
Als Beispiel füge ich der oben gespeicherten Prozedur einige Abfrageanweisungen hinzu (beachten Sie die roten Anweisungen unten).

PROZEDUR `p_next_id` ERSTELLEN (kind_name VARCHAR(30), i_length int, currentSeqNo VARCHAR(3), OUT o_result INT)
BEGINNEN 
     SET @a = NULL;
     SET @b = NULL;
     SELECT id INTO @a FROM t_seq WHERE Nummer= aktuelleSeqNr und Länge= i_Länge; SELECT @a;     
     WENN (@a ist null) DANN
            wähle min(id) in @a FROM t_seq, wobei Länge = i_Länge;
            Wähle eine Nummer in @b aus t_seq, wobei ID = @a ist; wähle @b;
     ANDERS
        Wähle eine Nummer in @b aus t_seq, wobei id = @a+1 ist;        
     ENDE, WENN;        
     Wählen Sie @b in o_result aus.     
ENDE

Dies ist das Ende dieses Artikels über die einfachste Methode zum Debuggen gespeicherter Prozeduren in MySQL. Weitere Informationen zum Debuggen gespeicherter Prozeduren in MySQL finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Definition und Zuweisung von Variablen in gespeicherten MySQL-Prozeduren
  • Detaillierte Erklärung der gespeicherten MySQL-Prozedur
  • Einführung in die Verwendung der Cursorschleife für gespeicherte Prozeduren in MySQL
  • Detaillierte Erläuterung der Anwendungsbeispiele für gespeicherte MySQL-Prozeduren
  • Einfaches Schreiben von gespeicherten MySQL-Prozeduren und -Funktionen
  • Beispiel für eine gespeicherte MySQL-Prozedur (einschließlich Transaktionen, Ausgabeparameter, verschachtelte Aufrufe)
  • Detaillierte Erläuterung der gespeicherten Prozeduren und Funktionen von MySql
  • MySQL-Abfragedatenbank - gespeicherte Prozeduren und Funktionsanweisungen
  • Einführung in MySQL-Import- und -Exportdatenbanken, Funktionen und gespeicherte Prozeduren
  • Beispielanalyse gespeicherter Prozeduren in MySQL und wie gespeicherte Prozeduren aufgerufen werden

<<:  Fallerklärung für den Nginx-Reverse-Proxy zu Go-FastDFS

>>:  Konfliktlösung bei gleichzeitiger Verwendung von Laufschrift und Flash auf einer Seite

Artikel empfehlen

Über die „Berufskrankheit“ der Designer

Ich habe immer das Gefühl, dass Designer die sens...

Tutorial zum Erstellen eines Zookeeper-Servers unter Windows

Installation und Konfiguration Die offizielle Web...

So verwenden Sie vs2019 für die Linux-Remote-Entwicklung

Normalerweise gibt es bei der Entwicklung von Lin...

Implementierung des Imports und Exports von Docker-Images

Docker-Nutzung von Gitlab Gitlab Docker Startbefe...

So simulieren Sie eine Aufzählung mit JS

Vorwort Im aktuellen JavaScript gibt es kein Konz...

Linux IO-Multiplexing Epoll-Netzwerkprogrammierung

Vorwort In diesem Kapitel werden grundlegende Lin...

Führen Sie die Schritte zum Einrichten automatischer Updates in CentOS 8 aus

Das Beste, was Sie für Ihre Daten und Computer tu...

Der vollständige Code der im Uniapp-Applet enthaltenen Radardiagrammkomponente

Effektbild: Der Implementierungscode lautet wie f...

Lassen Sie uns über die Speicher-Engine in MySQL sprechen

Grundlagen In einer relationalen Datenbank entspr...

Der beste Weg, um den 1px-Rand auf Mobilgeräten zu lösen (empfohlen)

Bei der Entwicklung für Mobilgeräte tritt häufig ...

MySql-Anmeldekennwort vergessen und Lösung für vergessenes Kennwort

Methode 1: MySQL bietet einen Befehlszeilenparame...