INSERT INTO postgresql

Wenn ich an PostgreSQL ein SQL-Statemente wie folgt absetze:

 INSERT INTO t_table (das, da) VALUES ('bla1', 'bla2'), ('bla3', 'bla4);

schmeißt mir PostgreSQL immer eine Fehlermeldung nach dem ersten einzufügenden Datensatz und meckert, das Komma an. Scheinbar funktioniert das in PostgreSQL nur so:

 INSERT INTO t_table (das, da) VALUES ('bla1', 'bla2');
 INSERT INTO t_table (das, da) VALUES ('bla3', 'bla4);

D.h. also zwei INSERT-Statements abschicken!? Bei dem Beispiel mag das schon gehen, doch hat man z.b. über 100 einzelne Datensätze, die man nun auf diese Weise angeben muss anstatt sie wie sie schon vorhanden sind (wie oben) einzufügen.

Irre ich mich da, oder geht mit PostgreSQL nur Variante 2 oder gibt es da doch noch einen eleganteren Weg?

THX.

Welche Version? Das, was Du willst, geht ab 8.2. Aber, falls Du sehr viele Daten eingeben willst (Bulk Insert), dann willst Du kein INSERT, sondern COPY.

Andreas

Hab Version 8.1.9 hier … COPY sagst du? Ich schau mal …

Ok, mit COPY klappts, auch wenn ich hierzu erstmal eine Datei erstellen musste, wo die einzelnen Datensätze aufgelistet drinstehen. D.h. so wie ich es mir vorstelle (Variante 1) gehts dann wohl und hoffentlich noch nicht …

Das, was Du wolltest, geht ab 8.2. COPY hat den Vorteil, erheblich schneller zu sein als INSERT.

Andreas

Ok, das hört sich ja gut an. Vielen Dank für den Hinweis.