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

MySQL 8.0 DDL-Atomaritätsfunktion und Implementierungsprinzip

1. Übersicht über die Atomizität von DDL Vor 8.0 ...

JavaScript-OffsetParent-Fallstudie

1. Definition von offsetParent: offsetParent ist ...

Verschachtelte Verwendungsoperation für MySQL-Aggregatfunktionen

Zweck: Verschachtelte Verwendung von MySQL-Aggreg...

Detaillierte Erläuterung der Vue-Projektverpackung

Inhaltsverzeichnis 1. Zugehörige Konfiguration Fa...

Detaillierte Erklärung zweier zu beachtender Punkte bei vue3: Setup

Inhaltsverzeichnis In vue2 In vue3 Hinweise zur E...

Funktionsweise von SQL-SELECT-Datenbankabfragen

Obwohl wir keine professionellen DBAs sind, könne...

Das WeChat-Applet realisiert die Funktion zum Hochladen von Bildern

In diesem Artikelbeispiel wird der spezifische Co...

Ausführliche Erläuterung der Standortpriorität von Nginx

Standortausdruckstyp ~ bedeutet, dass ein regulär...