Re: FOR-LOOP durch eine Ergebnismenge

Andreas Kretschmer <[email protected]>
Newsgroups gmane.comp.db.postgresql.german
Message-ID <20130330073645.GA8964@tux>
Martin Spott <[email protected]> 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°


-- 
Sent via pgsql-de-allgemein mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.