Mit der Workbench können Sie die Anweisungsgruppen, die sich in einer pureQueryXML-Datei befinden, bearbeiten. Sie können Anweisungen in andere Anweisungsgruppen versetzen, neue Anweisungsgruppen erstellen, Anweisungsgruppen löschen und Anweisungsgruppen umbenennen.
Eine Anweisungsgruppe in einer pureQueryXML-Datei ist eine Gruppe von Anweisungen, die die Basis für eines von vier DB2-Paketen bilden, je nach dem, ob Sie ein Paket für eine Isolationsstufe oder ein Paket für jede der vier Isolationsstufen haben wollen.
Die Anzahl der Anweisungsgruppen, die bei der ersten Bearbeitung in einer pureQueryXML-Datei enthalten sind, hängt von dem Wert ab, den Sie in Default.genProps
für die Option sqlLimit für die Datei angeben, bevor Sie diese öffnen. Angenommen, Sie erfassen SQL-Anweisungen z. B. in einer pureQueryXML-Datei namens capture.pdqxml.
Bevor Sie die Datei im Editor öffnen, bearbeiten Sie die Datei Default.genProps, indem Sie den folgenden Eintrag hinzufügen:
capture.pdqxml = -rootPkgName myPackage -sqlLimit 100
Angenommen, Sie haben 300 SQL-Anweisungen in capture.pdqxml erfasst. Wenn Sie die Datei zum Bearbeiten öffnen, sehen Sie, dass sie in drei Anweisungsgruppen unterteilt ist.
- myPackageA, mit 100 Anweisungen
- myPackageB, mit 110 Anweisungen
- myPackageC, mit 90 Anweisungen
Der Wert der Option -sqlLimit legt die maximale Anzahl Anweisungen fest, die eine Anweisungsgruppe enthalten kann.
(Obwohl Sie den Wert der Option auf 100 gesetzt haben, hat das Dienstprogramm Configure in myPackageB alle Anweisungen, die auf einen bestimmten Cursor verweisen, zusammengehalten, so dass die Anzahl der Anweisungen in dieser Gruppe 100 überschreitet.)
Der Name jeder Gruppe ist der Stammpaketname, dem der nächsthöhere Buchstabe des Alphabets (ohne Sonderzeichen), mit A beginnend, angehängt wird.
Wenn das Dienstprogramm Configure in der Lage ist, alle SQL-Anweisungen in einer Anweisungsgruppe zu erfassen, hängt sie dem Namen der betreffenden Gruppe kein Suffix an.
Anmerkung: Für DB2-Datenbanken erfasst pureQuery Runtime Sonderregisterwerte für jede erfasste Anweisung. Wenn Sie eine SQL-Anweisung versetzen, müssen Sie sicherstellen, dass die Sonderregisterwerte der Anweisungsgruppe übereinstimmen.
- Anweisungen SQL SELECT, UPDATE, INSERT und DELETE von einer Anweisungsgruppe in eine andere versetzen
- Enthält eine pureQueryXML-Datei mehrere Anweisungsgruppen, können Sie SQL-Anweisungen aus einer Gruppe in eine andere ziehen. Sie können mehrere Anweisungen gleichzeitig versetzen, indem Sie die Steuertaste gedrückt halten, jede Anweisung anklicken und dann alle Anweisungen gemeinsam in die Zielanweisung ziehen.
Wenn Sie eine Anweisung versetzen wollen, die zu einer Anweisungsgruppe gehört, die einen benannten Cursor verwendet, wählen Sie die Anweisung aus und ziehen Sie sie in die Zielanweisungsgruppe. Der Editor versetzt die anderen Anweisungen automatisch in die Gruppe.
Übersteigt die Anzahl der Anweisungen in einer Gruppe den Wert für -sqlLimit im Eintrag Default.genProps für die pureQueryXML-Datei, können beim Speichern der pureQueryXML-Datei zwei Aktionen ausgeführt werden:
- Ist der Name einer Anweisungsgruppe leer, übernimmt der Editor die Anweisungen in unbenannte Anweisungsgruppen und rekonfiguriert sie in neuen, benannten Anweisungsgruppen. Der Name dieser neuen Gruppe basiert auf dem aktuellen Stammpaketnamen für die pureQueryXML-Datei. Das Dienstprogramm Configure fügt dem Stammpaketnamen den nächsten verfügbaren Buchstaben des Alphabets (ohne Sonderzeichen) hinzu.
- Hat die Anweisungsgruppe einen Namen, ändert sich die Anzahl der SQL-Anweisungen in dieser Gruppe nicht. Der für die Option -sqlLimit angegebene Wert hat keine Auswirkung.
Anmerkung: Sie können auch die Optionen -groupSQLByStrings und -groupSQLBySpecialRegisters des Dienstprogramms Configure verwenden, um zu steuern, wie der Editor die in den Anweisungsgruppen enthaltenen SQL-Anweisungen konfiguriert.
Tipp: DDL-Anweisungen können Sie nicht versetzen. Wenn die Datei jedoch mindestens zwei Anweisungsgruppen enthält, die DDL-Anweisungen enthalten und Sie die DDL-Anweisungen in einer Anweisungsgruppe konsolidieren wollen, entfernen Sie die Namen der Anweisungsgruppen, die DDL-Anweisungen enthalten. Speichern Sie anschließend die Datei.
- Anweisungsgruppen erstellen
- Klicken Sie innerhalb des Editors mit der rechten Maustaste auf eine beliebige Stelle und wählen Sie
Neue Anweisungsgruppe erstellen aus. Der Editor erstellt eine neue Anweisungsgruppe mit einem leeren Namen. Sie können SQL-Anweisungen aus anderen Anweisungsgruppen in diese neue Anweisungsgruppe versetzen.
- Es gibt drei Möglichkeiten, die neue Anweisungsgruppe zu benennen:
- Wenn der Name der Anweisungsgruppe auf dem Namen des aktuellen Stammpakets basieren soll, speichern Sie die Datei, nachdem Sie mindestens eine Anweisung in die Gruppe versetzt haben. Das Dienstprogramm Configure vergibt für die Anweisungsgruppe einen Namen, der auf zwei Faktoren basiert:
- Dem Wert der Option -rootPkgName in der entsprechenden Datei Default.genProps
- Den nächsten verfügbaren Buchstaben des Alphabets (ohne Sonderzeichen)
Wenn Sie beispielsweise eine Gruppe in einer Datei erstellen, die bereits eine Gruppe mit dem Namen myPackageA und eine andere Gruppe mit dem Namen myPackageB enthält, erhält die neue Gruppe den Namen myPackageC. Haben die beiden bereits im Paket vorhandenen Gruppen die Namen myPackageAA und myPackageAB, erhält die neue Gruppe den Namen myPackageAC.
- Führen Sie die folgenden Schritte aus, wenn der Name der Anweisungsgruppe auf dem Namen eines neuen Stammpakets basieren soll:
- Öffnen Sie die Datei Default.genProps zum Bearbeiten.
- Ändern Sie den Wert für -rootPkgName für die pureQueryXML-Datei.
- Speichern Sie die Datei Default.genProps. Wenn der Editor fragt, ob Sie das Projekt erstellen wollen, klicken Sie
auf Nein.
- Speichern Sie die pureQueryXML-Datei.
Das Dienstprogramm Configure vergibt für die Anweisungsgruppe einen vom neuen Stammpaketnamen abgeleiteten Namen. Wenn Sie weitere Anweisungsgruppen in der pureQueryXML-Datei erstellen, werden ihre Namen aus dem Stammpaketnamen und den nächsten Buchstaben des Alphabets (ohne Sonderzeichen) zusammengesetzt, bis Sie den Namen des Stammpakets erneut ändern oder Namen vergeben, die nicht auf einem Stammpaketnamen basieren.
- Führen Sie die folgenden Schritte aus, um der Anweisungsgruppe einen Namen zu geben, der nicht auf dem Stammpaketnamen beruht:
- Klicken Sie im Knoten für die Anweisungsgruppe und geben Sie den neuen Namen ein.
Der Name muss innerhalb der Datei eindeutig sein und darf keine Zeichen enthalten, die für die von Ihnen verwendete Datenbank ungültig sind. Im Namen muss noch Platz für eine einstellige Zahl vorgesehen werden, die das Dienstprogramm StaticBinder an den Namen anhängt. Diese Zahl zeigt die Isolationsstufe des Pakets oder der Pakete an, das/die das Dienstprogramm aus der Anweisungsgruppe erstellt.
- Speichern Sie die pureQueryXML-Datei.
- Anweisungsgruppen löschen
- Sie können alle Anweisungsgruppen löschen, die Sie nicht länger brauchen oder die leer sind.
- Klicken Sie mit Maustaste 2 auf ein Paket und wählen Sie Anweisungsgruppe löschen aus.
Die Gruppe von SQL-Anweisungen wird aus der pureQueryXML-Datei gelöscht.
- Speichern Sie die pureQueryXML-Datei.
- Die Namen der anderen Anweisungsgruppen in der Datei werden nicht geändert.
Angenommen, eine Datei enthält die Gruppen myPackageA bis myPackageE.
Sie löschen myPackageC. Die Namen myPackageD und myPackageE werden nicht in myPackageC und myPackageD geändert.
- Namen von Anweisungsgruppen ändern
- Der Name einer Anweisungsgruppe ist der Basisname der DB2-Pakete, die aus der Gruppe resultieren. So können z. B. aus einer Gruppe mit dem Namen myPackageA vier DB2-Pakete mit den Namen myPackageA1, myPackageA2,
myPackageA3 und myPackageA4 resultieren. Jede Nummer gibt die Isolationsstufe des Pakets an.
Sie haben zwei Möglichkeiten, die Namen von Anweisungsgruppen zu ändern.
Einschränkung: Sie können die Namen von Anweisungsgruppen nicht ändern, die nur DDL-Anweisungen enthalten.
- Führen Sie die folgenden Schritte aus, wenn Sie die neuen Namen auf der Basis eines neuen Stammpaketnamens erstellen wollen:
- Ändern Sie im Eintrag für die pureQueryXML-Datei in der Datei Default.genProps den Wert der Option -rootPkgName in den Stammpaketnamen, auf dessen Basis der Editor die neuen Namen erstellen soll.
- Speichern Sie die Datei Default.genProps. Wenn der Editor fragt, ob Sie das Projekt erstellen wollen, klicken Sie
auf Nein.
- Klicken Sie in der pureQueryXML-Datei mit der rechten Maustaste auf jede Anweisungsgruppe, deren Namen Sie ändern wollen, und wählen Sie Namen der Anweisungsgruppe löschen aus.
- Speichern Sie die pureQueryXML-Datei.
Übersteigt die Anzahl der in allen unbenannten Anweisungsgruppen enthaltenen SQL-Anweisungen den Wert, der für die Option -sqlLimit im Eintrag für die betreffende Datei in der Datei Default.genProps angegeben ist, erstellt das Dienstprogramm Configure mehrere Anweisungsgruppen für sie. Wenn beispielsweise 150 SQL-Anweisungen in unbenannten Gruppen enthalten sind und sqlLimit auf 125 gesetzt ist, erstellt das Dienstprogramm Configure zwei Anweisungsgruppen und vergibt Namen für sie und ersetzt damit die ursprünglichen, unbenannten Anweisungsgruppen.
- Wenn Sie für mindestens eine Anweisungsgruppe einen neuen Namen eingeben wollen, führen Sie die folgenden Schritte aus:
- Klicken Sie in der pureQueryXML-Datei mit der rechten Maustaste auf eine Anweisungsgruppe und wählen Sie
Namen der Anweisungsgruppe löschen aus.
- Klicken Sie im Knoten für die Anweisungsgruppe und geben Sie den neuen Namen ein.
Der Name muss innerhalb der Datei eindeutig sein und darf keine Zeichen enthalten, die für die von Ihnen verwendete Datenbank ungültig sind. Im Namen muss noch Platz für eine einstellige Zahl vorgesehen werden, die das Dienstprogramm StaticBinder an den Namen anhängt. Diese Zahl zeigt die Isolationsstufe des Pakets oder der Pakete an, das/die das Dienstprogramm aus der Anweisungsgruppe erstellt.
- Speichern Sie die pureQueryXML-Datei.