tabelle mit inhalt einer anderen tabelle füllen

Hallo,

ich besitze eine tabelle mit linieninformationen (test), die geometrien dazu sind in der geometry spalte abgelegt.
Nun lege ich eine neue punkttabelle an:

CREATE TABLE “abc” (gid serial PRIMARY KEY);
SELECT AddGeometryColumn(’’,‘abc’,‘the_geom’,’-1’,‘POINT’,2);

das klappt ohne probleme


in eine weitere tabelle selektiere ich nun die endpunkte:

CREATE TABLE xyz(the_geom) as
Select EndPoint (the_geom) from test;

auch das funktioniert.

nun will ich diese zeilen in die tabelle abc übertragen, wozu ich folgende zeile verwende:

INSERT INTO abc ( the_geom ) VALUES ((SELECT the_geom FROM xyz ));

wobei folgende Fehlermeldung erscheint:

ERROR: more than one row returned by a subquery used as an expression

warum kann man nicht mehrere zeilen kopieren? laut sql doku sollte das möglich sein.

danke schon mal für eventuelle tipps.
juergen

Das geht schon, der Trick ist, man muß es nur richtig machen.

test=*# select * from person;
 id | vorname | nachname
----+---------+----------
  1 |         | eins
  2 | zwei    |
  3 | drei    | drei
(3 rows)

test=*# create table person1 (id1 int, vn text, nn text);
CREATE TABLE
test=*# insert into person1 select * from person;
INSERT 0 3
test=*# select * from person1;
 id1 |  vn  |  nn
-----+------+------
   1 |      | eins
   2 | zwei |
   3 | drei | drei
(3 rows)

Andreas

wo du recht hast hast du recht,

danke