LOOP gibt es nicht in SQL. Wenn Du 2 Tabellen hast und in einer den Inhalt einer Spalte einer anderen haben willst (via UPDATE), dann muß Du eine Verbindung zwischen den Tabellen herstellen, damit klar ist, welche Zeile gemeint ist. Beispiel:
test=# select * from ziel;
id | wert
----+------
1 |
2 |
3 |
4 |
5 |
(5 Zeilen)
Zeit: 0,193 ms
test=*# select * from quelle;
id | wert
----+------
1 | 1
2 | 2
3 | 3
4 | 4
5 | 5
(5 Zeilen)
Zeit: 0,322 ms
test=*# update ziel set wert = (select wert from quelle);
FEHLER: als Ausdruck verwendete Unteranfrage ergab mehr als eine Zeile
test=!# rollback;
ROLLBACK
Zeit: 0,178 ms
test=# update ziel set wert = quelle.wert from quelle where ziel.id=quelle.id;
UPDATE 5
Zeit: 0,372 ms
test=*# select * from ziel;
id | wert
----+------
1 | 1
2 | 2
3 | 3
4 | 4
5 | 5
(5 Zeilen)
Zeit: 0,319 ms
update einzellagen_abgleich.load_lage_alle_1
set “LAG_NR” = el_alle.“WLG_NR” FROM einzellagen.el_alle
WHERE contains (buffer(einzellagen.el_alle.the_geom,1), einzellagen_abgleich.load_lage_alle_1.the_geom) = TRUE;