Re: executing dynamic commands

Поиск
Список
Период
Сортировка
От christian.michels@eifelgeist.com
Тема Re: executing dynamic commands
Дата
Msg-id 20393697.175191138870182592.JavaMail.servlet@kundenserver
обсуждение исходный текст
Ответ на executing dynamic commands  (christian.michels@eifelgeist.com)
Список pgsql-sql
Thanx a lot guys -  it works !

Cheers

Chris


On Wed, 1 Feb 2006 christian ( dot ) michels ( at ) eifelgeist ( dot ) com wrote:

> Hi,
>
> I user PostgreSQl 8.0.4 on Win2003 Server and write a function to copy rows from one table into another table with
thesame column definition.
 

> My first approach was to use something like:
>
> query_value :=  'INSERT INTO ' || tabledest || ' SELECT * FROM ' || tablesrc;
> EXECUTE query_value;
>
> This only works if the column definition AND the order between source and destination is the same !
> In my case I have always the same column definitions but they are not in> the same order between source and
destinationtable.
 

> What I tryed then is to loop through the column definition of the source
> and query the sourcetable for the value. For that I have to execut a
> query with dynamic tablename and dynamic columname to generate two
> stings one with the columndefinitin and one with the columnvalues to
> exececute something like: INSERT INTO tabelfoo (columndefinitinstring)
> VALUES (columnvaluesstring)

You might have better luck with a INSERT ... SELECT where you've reordered
the columns in the select list

INSERT INTO tabledest SELECT <reordered columns to match dest order> FROM
tablesrc


В списке pgsql-sql по дате отправления:

Предыдущее
От: "Magnus Hagander"
Дата:
Сообщение: Re: Does PostgreSQL support job?
Следующее
От: Markus Schaber
Дата:
Сообщение: Re: Does PostgreSQL support job?