Bekommen die betroffenen Zeilen durch ein update
Wie können Sie bekommen, die genau die betroffenen Zeilen von einem SQL-UPDATE-Anweisung in DB2 auf AS400?
Es ist sehr nützlich, um zu sehen, welche die Zeilen aktualisiert, auch während der tests.
Sah ich diese Frage: ist das gleiche, aber spezifisch für MySQL. Ist es eine standard-SQL-Weg-oder DB2-spezifische Art und Weise, dies zu tun?
Sah ich auch diese Technik, aber ich kann es nicht verwenden, weil meine update Abfrage ist zu viel kompliziert.
Zusätzliches feature sein könnte: immer auch früheren version dieser Zeilen, so können Sie vergleichen es mit der aktuellen version (nach dem update) und sehen die änderungen.
EDIT: meine DB2-Versionen sind diejenigen, die für IBM i V5R3 und V6R1
- Kompliziert ist nicht das einzige problem, mit dem Vorschlag, hinter "dieser Technik". Sie haben eine Racebedingung, die zwischen dem zählen der Zeilen, und ändern Sie die Zeilenanzahl ändern könnte. Dies ist keine zuverlässige Informationen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du nicht sagst, welche version von i5/OS ausgeführt werden, aber wenn Sie mit V6R1 oder später können Sie mit "Daten-ändern von Tabellen-Verweise", um die Zeilen, die geändert werden, indem die update-Anweisung. Zum Beispiel:
FINAL TABLE geben Sie die Zeilen, nachdem alle Trigger ausgelöst werden. Bitte beachten Sie, es gibt auch andere Daten-ändern von Tabellen-Referenzen, NEUE TABELLE - das zeigt die Zeilen, bevor Sie betroffen sind alle Trigger.
Können Sie Lesen über die Daten-ändern von Tabellen-Referenzen in der i5/OS-Dokumentation.
Check it out hier: GET DIAGNOSTICS-statement
Ihre "zusätzliche features" klingt wie Sie wollen ein Auslöser.
Interaktiv, mit
STRSQL
-, Antwort-Nachrichten wie diese sind auf dem Bildschirm angezeigt werden, nachdem die Anweisung abgeschlossen ist.UPDATE MYTABLE SET MYFIELD = 'foo' WHERE COLOR='red'; GET DIAGNOSTICS ROW_COUNT;
oder sowas. Können Sie mir zeigen, wie. Ich sah nur Beispiele verwendet, die innerhalb einer Prozedur.