Ausführen von SQL-Anweisungen
Über den SQL Editor können sowohl von Grund auf neu erstellte SQL-Anweisungen als auch solche, die anhand von Datenbankobjekten generiert wurden (siehe Generieren von SQL-Anweisungen), ausgeführt werden. Sie können können auch aus Dateien geöffnete SQL Scripts ausführen. Sie können den Ausführen-Befehl über das Menü SQL Editor, ein Tastaturkürzel oder durch Klick auf die Schaltfläche Ausführen ausführen.
So führen Sie SQL-Anweisungen aus:
1.Wenn mehrere SQL Editor-Fenster geöffnet sind, klicken Sie in das SQL Editor-Fenster, das die auszuführende Anweisung enthält.
2.Stellen Sie sicher, dass die mit dem SQL Editor verknüpfte Datenquelle verbunden ist .
3.Wählen Sie optional die auszuführende(n) Anweisung(en) aus.
4.Wählen Sie eine der folgenden Methoden:
•Klicken Sie auf Ausführen .
•Wählen Sie den Menübefehl SQL Editor | Ausführen.
•Drücken Sie F5.
Wenn keine Verbindung zur Datenquelle besteht, wird ein Dialogfeld angezeigt, in dem Sie gefragt werden, ob eine Verbindung zur Datenquelle hergestellt werden soll. Klicken Sie, falls nötig, auf Verbinden.
Nach Ausführung des Befehls Ausführen werden alle SQL-Anweisungen, die sich im SQL Editor befinden, bzw. die markierten Anweisungen ausgeführt. Wenn mit der Anweisung mehrere Datensatzgruppen abgerufen werden, werden die Ergebnisse für jede einzelne Anweisung in einem separaten Ergebnisfenster angezeigt.
Sie können SQL Scripts auch im Projektfenster ausführen, wenn die SQL-Dateien im Projekt inkludiert sind. Gehen Sie dazu folgendermaßen vor:
1.Wählen Sie im Projektfenster die gewünschte SQL-Datei aus.
2.Klicken Sie mit der rechten Maustaste auf die Datei und wählen Sie im Kontextmenü den Befehl SQl ausführen. Wenn keine Verbindung zur Datenquelle besteht, wird ein Dialogfeld angezeigt, in der Sie gefragt werden, ob eine Verbindung zur Datenquelle hergestellt werden soll. Klicken Sie, falls nötig, auf Verbinden.
Das SQL Script wird in einem neuen SQL Editor geöffnet und sofort ausgeführt.
Zur Datenbearbeitung ausführen
Wenn die Datenquelle dies unterstützt, können Sie eine SELECT-Anweisung auch zur Datenbearbeitung ausführen. Auf diese Art können die abgerufenen Datensätze nach Ausführung der SELECT-Abfrage im Ergebnisfenster bearbeitet werden.
So führen Sie SELECT-Anweisungen zur Datenbearbeitung aus:
1.Generieren Sie im SQL Editor Fenster eine SELECT-Anweisung.
2.Stellen Sie sicher, dass eine Verbindung zur Datenquelle besteht . Wenn die Datenbearbeitung über den SQL Editor unterstützt wird, ist die Schaltfläche Zur Datenbearbeitung ausführen aktiv und der Menübefehl SQL Editor | Zur Datenbearbeitung ausführen steht zur Verfügung.
3.Wählen Sie eine der folgenden Methoden:
a.Klicken Sie auf Zur Datenbearbeitung ausführen .
b.Wählen Sie den Menübefehl SQL Editor | Zur Datenbearbeitung ausführen.
Das Ergebnisfenster wird in den Bearbeitungsmodus geschaltet und Sie können die Datenbankdaten direkt im Ergebnisraster bearbeiten.
Beenden der Ausführung
DatabaseSpy verwendet beim Start einer Abfrage im SQL Editor oder über ein Design Editor-Fenster eine asynchrone Ausführung und einen asynchronen Abruf. Während die Ausführung läuft, wird im Meldungsfenster von DatabaseSpy eine Meldung angezeigt.
Bei allzu langer Ausführungsdauer können Sie die Ausführung durch Klick auf die Schaltfläche Ausführung/Abruf anhalten in der SQL Editor-Symbolleiste beenden. Diese Schaltfläche wird angezeigt, während die Ausführung läuft. Bei Abbruch der Ausführung bzw. des Abrufs von Datensätzen wird in der Statusleiste des Ergebnisfensters die Meldung "Ausführung wurde abgebrochen" angezeigt.
Sie können für die Ausführung der Abfragen in den SQL Editor Optionen ein Timeout definieren. Nach Ablauf der definierten Zeit versucht DatabaseSpy den Datenabruf abzubrechen. Beachten Sie, dass die Datenbankart und der Datenbanktreiber die Definition eines Befehls-Timeout unterstützen müssen, da die Abfrage andernfalls weiter ausgeführt wird. In diesem Fall können Sie die Ausführung über die Schaltfläche Ausführung/Abruf anhalten beenden. Beachten Sie jedoch, dass einige Treiber den Abbruch der Ausführung eventuell nicht unterstützen.
Definieren des Ausführungsmodus
Sie können wählen, ob Sie die SQL-Anweisung als ganzes oder in separaten Teilen an die Datenbank senden möchten. Im Fenster "Eigenschaften" finden Sie zu diesem Zweck die Einstellungen SQL-Editor sollte Semikola benötigen und Anweisungen für Ausführung gruppieren mit.
Unter Anweisungen für Ausführung gruppieren mit stehen folgende Optionen zur Verfügung:
•Semikola: Der Parser benützt Semikola als Anweisungstrennzeichen. Jedweder SQL-Code, der mit einem Semikolon abgeschlossen ist, wird als Anweisung betrachtet und separat an den Server geschickt. Bei fehlenden Semikola kann ein Dialogfeld angezeigt werden, in dem Sie aufgefordert werden, diese automatisch hinzufügen zu lassen.
•Keine Gruppierung: Das Script wird als Ganzes und ohne Modifikationen zum Server geschickt. Wenn das Script mehrere Anweisungen enthält und der Treiber bekannterweise die Bulk-Ausführung mehrerer Anweisungen nicht unterstützt, so ist es nicht sinnvoll, diese Option zu verwenden. In diesem Fall wird unter Umständen ein Dialogfeld angezeigt, in dem Sie auf diese Einschränkung hingewiesen werden.
•SQL Grammatik: Die jeweilige Art von SQL-Grammatik wird verwendet, um die Anweisungen zu trennen, wenn sie an den Server gesendet werden.
•GO Schlüsselwort: Ein GO Schlüsselwort muss im SQL Script vorhanden sein, damit die Ausführungsblöcke getrennt werden.
Ausführungsgruppen anzeigen
In der Symbolleiste des SQL Editors gibt es die Schaltfläche Gruppierungen für Ausführung anzeigen , mit der Sie grafisch darstellen können, welche Blöcke von Anweisungen zur Ausführung an die Datenbank-Engine geschickt werden.
In der obigen Abbildung wird die Gruppierung für die Ausführung angezeigt, wenn die Option "Semikola" in der Dropdown-Liste Anweisungen für Ausführung gruppieren mit ausgewählt ist.
Ausführung bei Fehler abbrechen
Wenn das SQL Editor-Fenster geöffnet ist, enthält das Fenster "Eigenschaften" eine Eigenschaft mit dem Titel Ausführung bei Fehler abbrechen. Diese Option ist oft hilfreich, wenn Sie SQL-Scripts ausführen, die mehrere Anweisungen enthalten. Wenn eine Anweisung nicht ausgeführt werden kann, können Sie die Ausführung dann an der entsprechenden Anweisung abbrechen. Um dieses Verhalten zu aktivieren, aktivieren Sie das Kontrollkästchen Ausführung bei Fehler abbrechen.
Fenster "Eigenschaften"
Betrachten Sie das folgenden Beispiel: Sie möchten an der Datenbank ein Script ausführen, das mehrere INSERT-Anweisungen enthält. Wenn das Kontrollkästchen Ausführung bei Fehler abbrechen aktiviert ist und eine INSERT-Anweisung fehlschlägt, wird das Script an der INSERT-Anweisung, die fehlgeschlagen ist, abgebrochen. In diesem Fall werden nachfolgende INSERT-Anweisungen nicht ausgeführt. Wenn das Kontrollkästchen Ausführung bei Fehler abbrechen deaktiviert ist und eine INSERT-Anweisung fehlschlägt, fährt das Script mit der Ausführung der restlichen INSERT-Anweisungen fort, bis das Ende des Scripts erreicht ist.
Der Ausführungsstatus des Scripts (einschließlich der Anzahl der betroffenen Zeilen) kann zusammen mit zusätzlichen Informationen über den gegebenenfalls aufgetretenen Fehler im Fenster "Meldungen" angezeigt werden. Klicken Sie im Fenster "Meldungen" auf den unterstrichenen Text, um zur entsprechenden Zeile im SQL Editor zu springen.
Abbrechen der Ausführung über einen Script-Kommentar
Sie können die Ausführung beim ersten gefundenen Fehler abbrechen, indem Sie den folgenden Kommentar zu Ihre SQL Script hinzufügen:
-- abort_execution_on_error: true |
Der Kommentar abort_execution_on_error muss sich in einer Zeile befinden und kann jeden der folgenden Werte enthalten:
-- abort_execution_on_error: true|false|yes|no|y|n|1|0 |
Um den obigen Kommentar zu einen Script hinzuzufügen, wählen Sie eine der folgenden Methoden:
•Geben Sie den Kommentar in das SQL Editor-Fenster ein.
•Setzen Sie den Cursor in eine leere Zeile im SQL Editor und klicken Sie anschließend auf die Symbolleisten-Schaltfläche "Bei Ausführung abbrechen" einfügen .
•Klicken Sie mit der rechten Maustaste in das SQL Editor-Fenster und wählen Sie im Kontextmenü den Befehl "Bei Ausführung abbrechen" einfügen.
Stellen Sie sicher, dass als Ausführungsmodus "Semikola", "GO Schlüsselwort" oder "SQL Grammatik" ausgewählt ist, da der Kommentar sonst ignoriert wird. |
Sie können den Kommentar an einer beliebigen Stelle im Script hinzufügen. Beachten Sie jedoch, dass er sich nur auf die darauf folgenden SQL-Anweisungen auswirkt. So wirkt sich der Kommentar etwa im unten gezeigten Script nur auf die zweite INSERT-Anweisung aus. D.h. bei jeder SQL-Anweisung vor dem Kommentar wird die Ausführung nur dann bei einem Fehler abgebrochen, wenn die Eigenschaft Ausführung bei Fehler abbrechen definiert wurde.
Wenn Text ausgewählt ist, muss sich der Kommentar in diesem Text befinden, damit er angewendet wird.
Die Setzung des Kommentars ist unabhängig von der oben beschriebenen Eigenschaft Ausführung bei Fehler abbrechen - es ändert die Eigenschaft nicht und muss auch nicht der Eigenschaft entsprechen.