Ausführen von SQL-Anweisungen

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Arbeiten mit SQL >

Ausführen von SQL-Anweisungen

SQL-Anweisungen, die im SQL Editor erstellt wurden, oder SQL-Dateien, die im SQL Editor geöffnet wurden, können direkt im SQL Editor ausgeführt werden. Der Befehl "Ausführen" kann über das Menü SQL Editor über ein Tastaturkürzel oder durch Klicken auf ein Symbolleistensymbol aufgerufen werden.

 

So führen Sie eine SQL-Anweisung in einem SQL Editor-Fenster aus:

1.Machen Sie das SQL Editor-Fenster, in dem Sie die SQL-Anweisung ausführen möchten, zum aktiven Fenster.
2.Wählen Sie optional die Anweisung bzw. die Anweisungen aus, die Sie ausführen möchten.
3.Klicken Sie auf die Schaltfläche Ausführen ic_execute-sql oder wählen Sie die Menüoption SQL Editor | Ausführen oder drücken Sie F5. Wenn keine Verbindung zur Datenbank besteht, erscheint eine Popup-Meldung, in der Sie gefragt werden, ob eine Verbindung zur Datenquelle hergestellt werden soll (vorausgesetzt, dass die SQL-Datei nicht als "offline" definiert wurde).
4.Klicken Sie im Meldungsfeld gegebenenfalls auf Verbindung herstellen, um eine Verbindung zur Datenquelle herzustellen.

Alle SQL-Anweisungen, die sich im SQL Editor befinden, bzw. die markierten Anweisungen werden ausgeführt. Die Ergebnisse werden für jede einzelne Anweisung in separaten Ergebnisfenstern angezeigt.

5.Klicken Sie auf das entsprechende Register, um das jeweilige Ergebnis aufzurufen.

 

Alternativ dazu können Sie SQL Scripts auch im Projektfenster ausführen, wenn die SQL-Dateien im Projekt inkludiert sind.

 

So führen Sie eine SQL-Datei aus:

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 eine Meldung angezeigt, in der Sie gefragt werden, ob eine Verbindung zur Datenquelle hergestellt werden soll.

3.Klicken Sie im Meldungsfeld gegebenenfalls auf Verbindung herstellen, um eine Verbindung zur Datenquelle herzustellen.

Das SQL Script wird in einem neuen SQL Editor geöffnet und sofort ausgeführt.

 

Zur Datenbearbeitung ausführen

Wenn die aktive Datenquellenverbindung dies unterstützt, können Sie eine SELECT-Anweisung auch zur Datenbearbeitung im Ergebnisfenster ausführen. In diesem Fall ist die Schaltfläche Zur Datenbearbeitung ausführen ic_edit-data in der Symbolleiste des SQL Editor-Fensters aktiviert und der Befehl Zur Datenbearbeitung ausführen steht im Menü SQL Editor zur Verfügung.

 

So führen Sie SELECT-Anweisungen zur Datenbearbeitung aus:

1.Generieren Sie in einem SQL Editor-Fenster, das mit einer Datenquelle verbunden ist, die die Datenbearbeitung über den SQL Editor unterstützt, eine SELECT-Anweisung.
2.Klicken Sie auf die Schaltfläche Zur Datenbearbeitung ausführen ic_edit-data oder 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.

 

Asynchrone Ausführung und Abruf

In DatabaseSpy wird asynchrone Ausführung und Abruf verwendet, wenn eine Abfrage im SQL Editor oder aus einem Design Editor oder Datenvergleichsfenster gestartet wird. Während die Ausführung läuft, wird eine Nachricht im Nachrichtenfenster angezeigt.

 

msg_exec-progress

 

Auf diese Weise können Sie in großen Datenbanken die Ausführung abbrechen, indem Sie in der SQL Editor-Symbolleiste auf die Schaltfläche Ausführung/Abruf anhalten ic_stop klicken, während die Ausführung noch läuft und der Abruf noch nicht begonnen hat. So können Sie eine Ausführung abbrechen, wenn Sie feststellen, dass der Abruf zu lange dauern würde, und die Abfrage verfeinern.

 

Nachdem Sie eine Ausführung oder einen Abruf abgebrochen haben, wird in der Statuszeile des Ergebnisfensters eine Meldung "Ausführung wurde abgebrochen" angezeigt, und Sie können die Abfrage wie erforderlich bearbeiten und die Ausführung neu starten.

 

Definieren des Ausführungsmodus

Sie können wählen, ob Sie die SQL-Anweisung im aktiven SQL Editor-Fenster als ganzes oder in separaten Teilen an die Datenbank senden möchten. Im Fenster "Eigenschaften" finden Sie zu diesem Zweck die Optionen SQL-Editor sollte Semikola benötigen und die Dropdown-Liste Anweisungen für Ausführung gruppieren mit.

 

In der Dropdown-Liste 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 betreffende Art von SQL-Grammatik wird verwendet, um die Anweisungen zu trennen, wenn sie zum Server geschickt 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 ic_show-groupings, mit der Sie grafisch darstellen können, welche Blöcke von Anweisungen zur Ausführung an die Datenbank-Engine geschickt werden.

 

sql_show-groupings

 

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ührungs-Timeout

Sie können für die Ausführung der Abfragen in den SQL Editor Optionen in der Gruppe "Einstellungen für den Abruf" ein Timeout definieren. Nach Ablauf der definierten Zeit bricht DatabaseSpy den Datenabruf ab. 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 ic_stop beenden. Beachten Sie jedoch, dass manche Treiber den Abbruch der Ausführung eventuell nicht unterstützen.

 

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-Skripts 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.

ds_abort_execution

Fenster "Eigenschaften"

Betrachten Sie das folgenden Beispiel: Sie möchten an der Datenbank ein Skript 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 Skript 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 Skript mit der Ausführung der restlichen INSERT-Anweisungen fort, bis das Ende des Skripts erreicht ist.

 

Der Ausführungsstatus des Skripts (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.


© 2019 Altova GmbH