PDA

View Full Version : mehrere...... SQL Befehle abarbeiten



Spezlerin
13-05-11, 14:05
Hallo,
ich arbeite mit 'strsql'. Hier ist aber nur eine begrenzte Anzahl von Zeilen einfügbar. Gibt es eine Möglichkeit etwa 6000 neue Zeilen in eine bestehende Tabelle einzugeben mit "insert into ...."
Ich habe die 6000 Eingaben als Text schon erstellt aber WIE oder WO jetzt "kopieren einfügen"???
Geht da was?:confused:

Fuerchau
13-05-11, 14:13
Du kannst die Insert-Befehle mit Semikolon getrennt in eine SRC-PF eingeben und anschließend mit RUNSQLSTM abarbeiten lassen.
Zu beachten ist die max. Zeilenbreite von 72 Stellen!
Das ist allerdings nicht so besonders elegant.

Woher kommen denn die 6000 Zeilen ?
War wohl ziemliche Tiparbeit.

Wenn du die Daten in einem Excel hast kannst du ganz einfach mit meinem Upload/400 die Daten blitzschnell auf die AS/400 schieben,

Hast du die Daten in Access, kannst du mittels Anfügeabfrage in eine verknüpfte Tabelle zur AS/400 die Daten ganz einfach kopieren.

Spezlerin
13-05-11, 14:32
In Excel hab ich sie erstellt.

INSERT INTO DDB/KNDDBB (KKA, KKB, KKC, KKD,KKE, KKF, KKG, KKH, KKI, KKJ, KKK) VALUES(88, 88,
300000000000000000005971 , 82, 'EUR', 0, ,0,'P1KVPLUS', 0, ,0, ,0)
,(88, 88,
300000000000000000005972, 82, 'EUR', 0, ,0,'P1KVPLUS', 0, ,0, ,0)
,(88, 88,
300000000000000000005956, 82, 'EUR', 0, ,0,'P1KVPLUS', 0, ,0, ,0)
,(88, 88,
300000000000000000005973, 82, 'EUR', 0, ,0,'P1KVPLUS', 0, ,0, ,0)
,(88, 88,...........
6000 Zeilen aber nicht fortlaufend.


Upload/400 ?

B.Hauser
13-05-11, 15:18
Verwende den iSeries Navigator (in Client Access).
Öffne Datenbanken --> Positioniere auf eine Datenbank --> Wähle aus den Tasks (Rechts unten) Eine SQL Prozedur ausführen aus.

Kopiere Dein Excel Dokument (mit Copy und Past) in das Skript.
Bibliotheksliste u.ä. kann über Verbindung/JDBC Settings gesetzt werden.

Die SQL Befehle mit RUN ausführen.
(Das Skript kannst Du dann auch sichern).

Birgitta

Fuerchau
13-05-11, 15:28
Stimmt, der OpsNav geht ja auch, allerdings ist hier auch wichtig, dass jeder SQL mit Semikolon endet !

Upload/400:
Hier gibst du die Werte in Excel einfach in die Spalten untereinander ein.
Ggf. noch die Feldnamen als Überschriftzeile.
Dann markierst du den Bereich und rufst Upload/400 (Excel-AddIn) einfach auf, der rest ist dialoggeführt.
Download und Doku gibts auf meiner Homepage mit 60 Tagen Testzeitraum.
Danach kostet es was.

Pikachu
13-05-11, 15:38
Wenn die 3000...-Nummern auch einzeln vorhanden sind, dann könnte man auch eine pysische Datei anlegen (CRTPF LIB/PF), die 3000...-Zeilen per ftp in diese übertragen und dann ein

INSERT INTO DDB/KNDDBB (KKA, KKB, KKC, KKD,KKE, KKF, KKG, KKH, KKI, KKJ, KKK)
SELECT 88, 88, PF, 82, 'EUR', 0, 0, 'P1KVPLUS', 0, 0, 0 FROM LIB/PF

machen.

Spezlerin
13-05-11, 15:52
Hab B.Hauser Variante gewählt.
Hat einwandfrei geklappt.

Vielen Dank-> Fang auf!!!:)