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 по дате отправления: