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

Mit CSS3 erstellter Hintergrundverlaufsanimationseffekt

Ergebnisse erzielen Implementierungscode html <...

js, um den Popup-Effekt zu erzielen

In diesem Artikelbeispiel wird der spezifische Co...

So verwenden Sie TypeScript in Vue

Einführung In den letzten Jahren wurde der Ruf na...

So installieren Sie Postgres 12 + pgadmin im lokalen Docker (unterstützt Apple M1)

Inhaltsverzeichnis einführen Unterstützt Intel-CP...

JavaScript-Canvas zum Laden von Bildern

In diesem Artikel wird der spezifische Code von J...

uniapp implementiert Datums- und Zeitauswahl

In diesem Artikelbeispiel wird der spezifische Co...

Detaillierte Erläuterung der Verwendung des Linux-Zeitbefehls

1. Befehlseinführung Mit „time“ werden die für di...

Detaillierte Erklärung des MySQL-Überwachungstools mysql-monitor

1. Übersicht mysql-monitor MySQL-Überwachungstool...

js implementiert das Umschalten von Bildern per Maus (ohne Timer)

In diesem Artikelbeispiel wird der spezifische Co...

Einfaches Beispiel zum Hinzufügen und Entfernen von HTML-Knoten

Einfaches Beispiel für das Hinzufügen und Entfern...