Re: FOR-LOOP durch eine Ergebnismenge

From: Andreas Kretschmer <akretschmer(at)spamfence(dot)net>
To: pgsql-de-allgemein(at)postgresql(dot)org
Subject: Re: FOR-LOOP durch eine Ergebnismenge
Date: 2013-03-30 07:36:46
Message-ID: 20130330073645.GA8964@tux
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-de-allgemein

Martin Spott <Martin(dot)Spott(at)mgras(dot)net> wrote:

> Andreas Kretschmer wrote:
>
> > execute 'select * from ' || layer || ';';
> >
> > *untested*
>
> .... aber schon nah dran ! ;-)

dachte ich mir schon, daß es Probleme geben wird, weil Du da mit eine
Record hantierst.

> Wenn ich im FOR nur die gesuchte Spalte selektiere, wie beschrieben
> als:
>
> FOR layer IN SELECT f_table_name FROM geometry_columns WHERE f_table_name LIKE 'clc06_sand'
>
> dann kriege ich mit dem obigen EXECUTE beim Aufruf der Funktion den
> Fehler:
>
> psql:testproc.sql:18: ERROR: syntax error at or near ")"
> ZEILE 1: SELECT * FROM (clc06_sand);
>
>
> Wenn ich aber den kompletten Record aus der View selektiere:
>
> FOR layer IN SELECT * FROM geometry_columns WHERE f_table_name LIKE 'clc06_sand'

Alternativ: die Variable als TEXT definieren und nur die Spalte
selektieren. untested, aber sollte so gehen. Ist IMHO dann sauberer,
denn stell Dir vor, da wären noch eine 2 GB große BYTEA-Spalte mit dabei
...

>
>
> Dennoch vielen Dank fuer den zielfuehrenden Hinweis, der Versuch mit

schon okay, kein Ding.

Andreas
--
Really, I'm not out to destroy Microsoft. That will just be a completely
unintentional side effect. (Linus Torvalds)
"If I was god, I would recompile penguin with --enable-fly." (unknown)
Kaufbach, Saxony, Germany, Europe. N 51.05082°, E 13.56889°

In response to

Browse pgsql-de-allgemein by date

  From Date Subject
Next Message Lars Grundei 2013-04-03 17:18:36 Datenbankgröße unplausibel
Previous Message Martin Spott 2013-03-29 20:35:52 Re: FOR-LOOP durch eine Ergebnismenge