Anmelden

View Full Version : SQL Insert



Deficiency
01-12-05, 10:59
Hallo!

Im SQL-Standard gibt es folgende Insert, damit ich mehere Tupel auf einmal einfügen kann:

INSERT INTO person


(persnr, name, vorname)


VALUES


(18, 'Eberle', 'Hans'),


(19, 'Huber', 'Evi'),


(37, 'Meier', null);

Das Funktioniert jedoch aus unsere iSeries nicht?!? Ist das nicht bei IBM implementiert worden, habt Ihr das Problem schonmal festgestellt.
Wenn ich nämlich für jeden Datensatz einen Insert machen muss geht die Laufzeit extrem hoch!

Vielen Dank Defi

Deficiency
01-12-05, 11:00
War nicht beabsichtigt das das so groß wird ... :eek:

Fuerchau
01-12-05, 11:05
Das ist leider kein SQL-Standard !
Der Insert erlaubt nur das Einfügen eines Satzes, da ggf. Fehler nicht zugeordnet werden können (Duplicate Key o.ä.).

Je nach Programmiersprache sollte man mit Parametermarkern arbeiten und das SQL per Prepare vorbereiten.
Dann geht der spätere Execute auch entsprechend schneller.

Insert into Person (persnr, name, vorname) values(?, ?, ?)

B.Hauser
01-12-05, 11:06
Insert von mehreren Zeilen über Values ist erst ab Release V5R3M0 verfügbar.

Birgitta

Fuerchau
01-12-05, 11:20
@Birgitta

Wie mache ich das mit den Parameter-Markern ?
Der Insert bricht doch dann mit dem 1. Fehler ab ! Bekomme ich dann mit, welcher Satz gemeint ist ?

Deficiency
01-12-05, 11:22
Vielen Dank für die Info´s



Gruß
Defi