Altova DatabaseSpy 2024 Professional Edition

Um Daten im Ergebnisfenster aktualisieren zu können, wählen Sie zuerst den Befehl Daten zur Bearbeitung auswählen aus. Daraufhin wird das Ergebnisfenster in den Bearbeitungsmodus geschaltet; dies wird in der Statusleiste (Bearbeitungsmodus) angezeigt.

 

Um Datensätze zu bearbeiten, doppelklicken Sie auf die gewünschte Zelle und fahren Sie fort wie in einer Tabellenkalkulationsapplikation. Im Kontextmenü stehen Befehle zum Kopieren, Ausschneiden, Einfügen, Löschen oder Auswählen aller Daten oder zum Rückgängigmachen Ihrer Bearbeitung zur Verfügung. Sie können auch aus einem anderen Ergebnisraster oder externen Dateien wie z.B. Excel-Arbeitsblättern kopierte Zellenbereiche in das Ergebnisraster einfügen (siehe auch Hinzufügen und Kopieren von Zeilen).

dbs_result_grid

Ergebnisraster

Die aktualisierten Daten werden nicht sofort in der Datenbank übernommen, sondern nur im Ergebnisraster angezeigt. Damit die Daten tatsächlich in der Datenbank übernommen werden, bietet das Ergebnisfenster in seiner Symbolleiste eine Übernehmen-Schaltfläche.

 

Datenzellen, die bearbeitet wurden, werden durch eine andere Hintergrundfarbe gekennzeichnet. Die Farbe zeigt an, ob es mit den eingegebenen Daten möglicherweise Probleme gibt. Wenn der eingegebene Text z.B. nicht für den Datentyp der Spalte geeignet ist, wird die Hintergrundfarbe der Zelle rot.

 

Wenn das Ergebnisfenster XML-Spalten enthält, wird für jede Zeile innerhalb der XML-Spalte eine zusätzliche Schaltfläche angezeigt: ic_change-xml. Durch Klicken auf diese Schaltfläche können Sie eine XML-Datei in diese XML-Zelle laden oder den XML-Inhalt der entsprechenden Zelle als XML-Datei speichern. Außerdem können Sie der XML-Zelle ein XML-Schema zuweisen, vorausgesetzt die aktuelle Datenquellenverbindung unterstützt diese Funktion. In Datenbanken, in denen DatabaseSpy XML-Spalten derzeit nicht unterstützt, ändert sich das Symbol in ein ic_save-xml und Sie können den XML-Inhalt der entsprechenden Zelle nur in einer Datei speichern.

 

Im Bearbeitungsmodus werden in der Symbolleiste außerdem vier weitere Befehle angezeigt:

 

dbs_ic_append

Hängt eine neue Zeile an. Dieser Befehl steht auch im Kontextmenü zur Verfügung, wenn Sie mit der rechten Maustaste auf eine Zelle klicken. Siehe auch Hinzufügen und Kopieren von Zeilen.

dbs_ic_delete

Löscht eine vorhandene Zeile. Dieser Befehl steht auch im Kontextmenü zur Verfügung, wenn Sie mit der rechten Maustaste auf eine Zelle klicken.

dbs_ic_undo

Macht alle am Ergebnisraster vorgenommenen Änderungen rückgängig (vorausgesetzt die Änderungen wurden noch nicht in der Datenbank übernommen). Um die Bearbeitung einer bestimmten Zelle rückgängig zu machen, klicken Sie mit der rechten Maustaste darauf und wählen Sie im Kontextmenü den Befehl Änderungen für diese Zelle rückgängig machen.

dbs_ic_set_default

Setzt die aktuell ausgewählte(n) Zelle(n) auf den Datenbankstandardwert. Dieser Befehl steht auch im Kontextmenü zur Verfügung, wenn Sie mit der rechten Maustaste auf eine Zelle klicken. Beachten Sie, dass der Befehl (und die entsprechende Schaltfläche) nur aktiv ist, wenn die Datenbankspalte einen definierten Standardwert hat.

dbs_ic_set_null

Setzt die aktuell ausgewählte(n) Zelle(n) auf einen NULL-Wert. Dieser Befehl steht auch im Kontextmenü zur Verfügung, wenn Sie mit der rechten Maustaste auf eine Zelle klicken. Beachten Sie, dass der Befehl (und die entsprechende Schaltfläche) nur aktiv ist, wenn in der entsprechenden Datenbankspalte Null zulässig ist.

 

Wenn Sie mit der Bearbeitung der Daten fertig sind, klicken Sie auf Übernehmen, um die Änderungen an die Datenbank zu senden. DatabaseSpy erstellt automatisch die erforderlichen SQL-Anweisungen und führt sie aus. Wenn die Ausführung fehlschlägt, können Sie die Anweisungen im Ausgabefenster anzeigen und überprüfen, warum sie nicht erfolgreich ausgeführt wurden.

tab_output-invalid-edit

 

Verwendung von SQL

Wenn Sie Daten lieber mit Hilfe einer SQL-Anweisung aktualisieren möchten, kann DatabaseSpy die benötigte SQL-Anweisung anhand der ermittelten Tabellenstruktur generieren. Sie können entweder alle Spalten einer Tabelle oder nur bestimmte Spalten aktualisieren.

So aktualisieren Sie eine Tabelle mit Hilfe von SQL-Anweisungen:

1.Stellen Sie eine Verbindung zur Datenbank her und zeigen Sie die entsprechende Datenquelle im Online Browser an.

2.Klicken Sie optional mit der rechten Maustaste auf die Tabelle, die Sie aktualisieren möchten und wählen Sie den Befehl Daten abrufen | Alle Zeilen, um die in der Tabelle enthaltenen Daten zu sehen.

3.Wählen Sie eine der folgenden Methoden:

Wählen Sie die gewünschte Tabelle aus.

Erweitern Sie die entsprechende Tabelle und wählen Sie die Spalte(n), die Sie bearbeiten möchten, aus.

4.Drücken Sie die rechten Maustaste und wählen Sie im Kontextmenü den Befehl In neuem SQL Editor anzeigen | Update oder halten Sie die rechte Maustaste gedrückt, ziehen Sie die markierten Objekte in ein offenes SQL Editor-Fenster und wählen Sie im Popup-Menü den Befehl Update. Daraufhin wird im SQL Editor eine UPDATE-Anweisung für alle ausgewählten Objekte generiert.

 

Anmerkung:Automatisch inkrementierte und berechnete Spalten kommen in der generierten UPDATE-Anweisung nicht vor. Siehe auch "Die UPDATE-Anweisung" weiter unten.

 

5.Bearbeiten Sie den SET-Teil der generierten UPDATE-Anweisung mit den Werten, die eingefügt werden sollen.

6.Bearbeiten Sie die WHERE-Klausel, um die Zeilen, die aktualisiert werden sollen, auszuwählen.

 

Anmerkung:Alle Zeilen der Tabelle werden mit denselben Werten aktualisiert, wenn die WHERE-Anweisung entfernt wird.

 

7.Klicken Sie auf die Schaltfläche Ausführen ic_execute-sql, um die Anweisung auszuführen und die Daten in der Datenbank zu aktualisieren.

 

Die UPDATE-Anweisung

Die UPDATE-Anweisung wird standardmäßig absichtlich so generiert, dass nicht unabsichtlich mehrere Zeilen aktualisiert werden. Sie müssen die Anweisung daher bearbeiten, um das gewünschte Ergebnis zu erzielen.

 

Die WHERE-Klausel der UPDATE-Anweisung wird so generiert, dass sie den Primärschlüssel der Tabelle enthält, falls einer vorhanden ist. Die Anweisung unten wird beispielsweise für eine SQLite-Tabelle generiert, die einen Primärschlüssel in der Spalte id hat.

 

UPDATE "products" SET "id"=0, "name"='', "quantity"=0, "description"=NULL WHERE "id"=0;

 

Wenn die Tabelle keinen Primärschlüssel hat, enthält die WHERE-Bedingung die vereinheitlichte Liste aller Spalten aller eindeutigen Schlüssel. Wenn die Tabelle weder Primärschlüssel noch eindeutige Schlüssel hat, enthält die WHERE-Klausel alle Spalten mit Ausnahme von berechneten Spalten.

 

Welche generierten Werte in der WHERE-Klausel aufscheinen, hängt vom Standardwert der Spalte, ob sie auf Null gesetzt werden kann, und vom Datentyp der Spalte ab. Unten sehen Sie ein Beispiel für eine anhand einer SQL Server-Tabelle generierte UPDATE-Anweisung, (i) die keinen Primärschlüssel oder eindeutigen Schlüssel hat, (ii) deren erste Spalte den Typ integer und (iii) deren zweite Spalte den Typ nvarchar hat und (iv) bei der id eine automatisch inkrementierte Spalte ist:

 

UPDATE [dbo].[Events]
SET    [event]=N''
WHERE  [id] = 0
      AND [event] = N'';

© 2017-2023 Altova GmbH