So verwenden Sie Cursor-Trigger in MySQL

So verwenden Sie Cursor-Trigger in MySQL

Cursor

Die von der Auswahlabfrage zurückgegebenen Zeilen werden als Ergebnismenge bezeichnet. Die Zeilen in der Ergebnismenge werden basierend auf der von Ihnen eingegebenen SQL-Anweisung abgerufen. Wenn Sie keinen Cursor verwenden, können Sie weder die erste Zeile, die ersten zehn Zeilen noch die nächste Zeile abrufen.

Nachfolgend sind einige häufige Cursorphänomene und -merkmale aufgeführt.

  • Möglichkeit, einen Cursor als schreibgeschützt zu markieren, was bedeutet, dass Daten gelesen, aber nicht aktualisiert oder gelöscht werden können
  • Möglichkeit zur Steuerung der ausführbaren Richtungsoperationen (vorwärts, rückwärts, erste, letzte, absolute und relative Positionen usw.)
  • Möglichkeit, einige Aktionen als bearbeitbar und andere als nicht bearbeitbar zu markieren
  • Kann auf einen Bereich beschränkt werden, sodass der Cursor entweder nur für die Anfrage, die ihn erstellt hat, oder für alle Anfragen zugänglich ist.
  • Cursordeklarationen müssen vor Handlerdeklarationen und nach
  • Variablen- und Bedingungsdeklarationen.
  • Dabei ist zu beachten, dass beim Öffnen eines Cursors dieser nicht auf den ersten Datensatz zeigt, sondern auf die Vorderseite des ersten Datensatzes.

Hier sind die Schritte zur Verwendung des Cursors

  • Deklarieren Sie einen Cursor – Sie haben in diesem Prozess noch nicht mit dem Abrufen von Daten begonnen
  • Öffnet einen Cursor zur Verwendung
  • Abrufen von Zeilen
  • Schließen Sie den Cursor und lassen Sie den Cursor los
DECLARE cs CURSOR 
FÜR 
WÄHLEN *
VON Kunden
Wobei cust_email NULL ist;

Ich dachte, alles wäre in Ordnung, aber es gab eine Fehlermeldung

Bildbeschreibung hier einfügen

An der Syntax ist nichts auszusetzen.

Versuchen Sie, vor cs ein @ hinzuzufügen. Die Fehlermeldung wird beim Ausführen weiterhin angezeigt.

Manche Leute sagen, dass Cursor nur in gespeicherten Prozeduren verwendet werden können. Stimmt das?

Versuchen wir nun, Cursor in gespeicherten Prozeduren zu verwenden

PROZEDUR ERSTELLEN Prozedur1
()
BEGINNEN
	DECLARE cur1 CURSOR 
	FÜR 
	WÄHLEN * 
	VON Kunden 
	WO cust_id NULL IST tianyoutianyou;
ENDE

Immer noch Fehler

Erneut ändern

Trennzeichen //
PROZEDUR ERSTELLEN Prozedur1
()
BEGINNEN
	DECLARE cur1 CURSOR 
	FÜR 
	WÄHLEN * 
	VON Kunden 
	Wobei cust_id NULL ist;
ENDE

Dieses Mal haben wir den Cursor erfolgreich deklariert

Haben wir den Cursor erfolgreich erstellt, weil wir das Trennzeichen geändert haben?

Versuchen wir es noch einmal

PROZEDUR ERSTELLEN procedure1()
DECLARE cur1 CURSOR 
FÜR 
WÄHLEN * 
VON Kunden 
Wobei cust_id NULL ist;

Auch das ist falsch. Versuchen wir herauszufinden, ob der Cursor erfolgreich erstellt werden kann, ohne eine gespeicherte Prozedur zu verwenden.

Trennzeichen //
DECLARE cur2 CURSOR
FÜR 
WÄHLEN *
VON Bestellungen;

Oder vielleicht das

Trennzeichen //
DECLARE cur2 CURSOR
FÜR 
WÄHLEN *
VON Bestellungen //

Diese beiden Typen haben auch 8 Zeilen

Nach so vielen Versuchen ist die einzige erfolgreiche Aussage die folgende

Trennzeichen //
PROZEDUR ERSTELLEN procedure1()
BEGINNEN 
	DECLARE cur1 CURSOR 
	FÜR 
	WÄHLEN * 
	VON Kunden 
	Wobei cust_id NULL ist;
ENDE

Als nächstes verwenden wir den Cursor, um Daten abzurufen

Leider verfügt MySQL nicht über einen Datentyp wie %ROWTYPE von Oracle. Versuchen wir, mithilfe eines Cursors einen bestimmten Datentyp aus der Kundentabelle abzurufen.

auslösen

Ein Trigger ist eine bestimmte gespeicherte Prozedur, die automatisch ausgeführt wird, wenn eine bestimmte Aktivität in der Datenbank auftritt. Im Allgemeinen werden Einschränkungen schneller verarbeitet als Trigger, daher sollten Einschränkungen nach Möglichkeit verwendet werden.

Dies ist das Ende dieses Artikels über die Verwendung von Cursor-Triggern in MySQL. Weitere relevante Inhalte zu MySQL-Cursor-Triggern finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • MySQL-Cursorfunktionen und -Verwendung
  • Definition und Verwendung des MySQL-Cursors
  • So deklarieren Sie einen Cursor in MySQL
  • Detaillierte Einführung zum MySQL-Cursor

<<:  Echarts-Beispielcode zur Verwendung mehrerer X-Achsen zur Erstellung einer siebentägigen Wettervorhersage

>>:  Detaillierte Erklärung zur Verwendung der Clip-Path-Eigenschaft in CSS

Artikel empfehlen

Sprechen Sie über nextTick in Vue

Wenn sich die Daten ändern, wird die DOM-Ansicht ...

Detaillierte Erläuterung des Produktionsprinzips des jQuery-Atemkarussells

In diesem Artikel wird der spezifische Prozess de...

So implementieren Sie einen Kennwortstärke-Detektor in React

Inhaltsverzeichnis Vorwort verwenden Komponentens...

Beispielcode zur Umsetzung des „Pluszeichen“-Effektes mit CSS

So erzielen Sie den unten gezeigten Pluszeichen-E...

Einfache Schritte zum Kapseln von Komponenten in Vue-Projekten

Inhaltsverzeichnis Vorwort So kapseln Sie eine To...

Web-Standardanwendung: Neugestaltung der Tencent QQ-Homepage

Die Homepage von Tencent QQ wurde neu gestaltet un...

Installation und Konfiguration von MySQL 8.0.15 unter Centos7

In diesem Artikel finden Sie das grafische Tutori...

Zusammenfassung der Lastausgleichsmethoden von Nginx

Um den Lastenausgleich zu verstehen, müssen Sie s...

Extrahieren Sie bestimmte Dateipfade in Ordnern basierend auf Linux-Befehlen

In letzter Zeit besteht der Bedarf, automatisch n...

Vue implementiert QR-Code-Scanfunktion (mit Stil)

brauchen: Verwenden Sie Vue, um das Scannen von Q...

Detaillierte Erläuterung der Destrukturierungszuweisung von JS ES6-Variablen

Inhaltsverzeichnis 1. Was ist Dekonstruktion? 2. ...

So prüfen Sie, ob ein Port in LINUX belegt ist

Ich konnte nie herausfinden, ob der Port belegt i...

Vue implementiert Modal-Komponente basierend auf Teleport

Inhaltsverzeichnis 1. Lernen Sie Teleport kennen ...