View Full Version : SQL Statement suchen / ersetzen
Franz Karl
02-07-12, 13:53
Sorry,
ich meinte natütlich solche
SQLFIN1020 SQL
SQLFIN1021 SQL
-----
UPDATE OPDEBI A SET CXGEPR =
(SELECT CXGEPR FROM LIB_CTR/OPDEBI B
WHERE A.CXDZNB = B.CXDZNB) WHERE EXISTS
(SELECT CXGEPR FROM LIB_CTR/OPDEBI B
WHERE A.CXDZNB = B.CXDZNB)
Jetzt soll z.B. in allen SQL.... z.B. das LIB_CTR ersetzt werden
Das heißt Ihr wohlt wahlweise die gleichen SQL Statements gegen Daten in der Echt- oder Test-Umgebung ausführen? (oder zumindest so etwas in der Art).
Ich gehe davon aus, dass die SQL-Befehle mittels RUNSQLSTM ausgeführt werden.
Sofern die alle Tabellen/Dateien, die im gleichen Member hinterlegt sind in der gleichen Bibliothek stehen, kannst Du folgendes machen:
1. Leider! In Handarbeit alle Bibliotheken incl. dem folgenden Slash entfernen.
2. Beim Aufruf des RUNSQLSTM-Befehls kann die Bibliothek über die Option Standarddatensammlung (DFTRDBCOL) gesetzt werden.
Damit kann die Bibliothek im CL beliebig gesetzt und übergeben werden, ohne dass in Zukunft die Skripte erneut angepasst werden müssen.
Birgitta
Franz Karl
02-07-12, 14:20
Ich möchte egtl. nur Bibliotheken die in diesen Statements drin sind und sich geändert haben entweder
(a) löschen
(b) umbennenen
und das ganze via setzen Bibliotheksliste machen.
Also komme ich wohl nicht umher manuell die zu überarbeiten.
Danke
Schreibe ein kleines CLP:
Per RTVMBRD kannst du die vorhandenen MBR einzeln durchgehen.
Per OVRDBF kannst du die Teildatei überschreiben.
Per obigem SQL "... replace ..." kannst du die Ersetzung durchführen.
Bedenke, dass bei Verlängerung ggf. rechts abgeschnitten wird!
Franz Karl
02-07-12, 15:05
Ok danke, aber das glaube ich übersteigt dann meine Kenntnisse auf der AS400.
Keine Probleme wenn du mir das machst, dass du mir auch eine Rechnung stellen könntest.
Gruss
Zumindest halb-automatisch geht es:
Auswahl "25=Zeichenfolge suchen" vor die erste Teildatei, diese Auswahl mit "F13=Wiederholen", dann Eingabetaste drücken, die Suchzeichenfolge eingeben, für "Auswahl" die 2 (=Ändern) eintragen und dann die Eingabetaste drücken.
So werden die einzelnen Vorkommen nacheinander angezeigt. Mit "F14=Weitersuchen" kann innerhalb einer Teildatei weitergesucht werden. So muß die Suchzeichenfolge nur ein einziges Mal eingegeben werden.
Franz Karl
02-07-12, 15:59
Ok danke - glaube ich habe ich verstanden.
Ich muss dann eben manuell den Text in jedem SQL dann ändern, er sucht mir nur eben diejenigen heraus welche den String beinhalten
camouflage
02-07-12, 16:01
sagen wir 3/4 automatisch ;-)
anstelle F14 auf der oberen Eingabezeile:
C "LIB_CTR/" " " A
eingeben.
Dann ist der Eintrag weg.
Beim ersten Mal auf den Change-String ein Copy und nachher Pasten.
Franz Karl
03-07-12, 10:13
Muss nochmals nachfragen
Suchen . . . . . . . . . . . . . BIUMO220
Von Spalte Nummer . . . . . . 1 1 - *RCDLEN
Bis Spalte Nummer . . . . . . *RCDLEN 1 - *RCDLEN
Übereinstimmung (Groß/Klein) . 2 1=Ja, 2=Nein
Auswahl . . . . . . . . . . . . 2 *NONE, Gültige Auswahl
Nach Eingabetaste
Quellendatei . . . . . . . . . . > CLSRC_CTR
Bibliothek . . . . . . . . . . > LIB_CL
Quellenteildatei . . . . . . . . > SQLBDE103
Quellentyp . . . . . . . . . . . *SAME
Auswahl . . . . . . . . . . . . > 2
Text 'Beschreibung' . . . . . . *BLANK
Nach Eingabetaste
stehe ich im Texteditor. Hier soll ich C "LIB_CTR/" " " A eingeben ??
Spalten . . . : 1 80 Editieren
SEU==>
FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+.
***************** Datenanfang ************************************
001.00 INSERT INTO BIUMO220/REP_BDBW SELECT * FROM BIUMO220/REP_BDBW02
Franz Karl
03-07-12, 10:18
Ah - jetzt habe ich's kapiert.
Danke so kann ich es sicher machen