query fine in psql/pgAdmin III but error message when within plpgsqlfunction

Hello,

I thought I had some experience with plpgsql functions by now. However, w=
hen trying to do this query (generic column/table names):

UPDATE table_a cus SET spalte1 =3D ( SELECT spalte1 FROM table_a_copy cl =
WHERE cl.tabname =3D cus.tabname );

from within a plpgsql funtion I get the error message:

'more than row returned by a subquery used as an expression'.

This even happens when I put the query into a string that I let be EXECUT=
Eed.

I works without errors and seemingly the way I wanted when doing the upda=
te separately.

Before I create a copy of table_a with:
CREATE TABLE table_a_copy AS SELECT * FROM table_a;

Then I load the backed up data with COPY to table_a_copy.

Then I do the update(s).

Of course one could do the updates with a loop, but in my opinion that's =
rather inconvenient.

Any hints what the problem is?

Thank you very much,

Peter

P.S. Server version 8.3.11. The name of the schema is different from publ=
ic so I'm using 'set search_path TO ...'.
--
GRATIS f=C3=BCr alle GMX-Mitglieder: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01

--
Sent via pgsql-admin mailing list (pgsql-admin [at] postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-admin
Jan-Peter.Seifert [ Fr, 20 August 2010 10:44 ] [ ID #2046397 ]

Re: query fine in psql/pgAdmin III but error message whenwithin plpgsql function

Ouch. My mistake. :(

The copy had of course duplicate data sets, because I trapped errors duri=
ng its creation and because of the missing 'WHERE 1=3D0'.

Sorry,

Peter
--
GMX DSL SOMMER-SPECIAL: Surf & Phone Flat 16.000 f=C3=BCr nur 19,99 =C2=BF=
/mtl.!*
http://portal.gmx.net/de/go/dsl

--
Sent via pgsql-admin mailing list (pgsql-admin [at] postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-admin
Jan-Peter.Seifert [ Fr, 20 August 2010 11:27 ] [ ID #2046398 ]
Datenbanken » gmane.comp.db.postgresql.admin » query fine in psql/pgAdmin III but error message when within plpgsqlfunction

Vorheriges Thema: Couple of admin Qs
Nächstes Thema: autovacuum check