Re: [GENERAL] re-using RETURNING
On 2009-11-12, A. Kretschmer andreas.kretsch...@schollglas.com wrote: Hi, just to be sure, it is still (8.4) not possible to use RETURNING within an other INSERT? not in pure SQL, but it should be possible in PLPGSQL etc. -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
Re: [GENERAL] re-using RETURNING
Andreas Kretschmer akretsch...@spamfence.net wrote: A. Kretschmer andreas.kretsch...@schollglas.com wrote: Hi, just to be sure, it is still (8.4) not possible to use RETURNING within an other INSERT? Thx for all replies. It is not a really problem, i will write a benchmark to compare the new writeable CTE (in 8.5 alpha) with the old style (8.4). That's all ;-) And yes, i will publish the result, of course. http://akretschmer.blogspot.com/2009/11/writeable-cte-short-performance-test.html 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-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
[GENERAL] re-using RETURNING
Hi, just to be sure, it is still (8.4) not possible to use RETURNING within an other INSERT? To show what i mean: test=*# insert into foo2 (id1, id2) (insert into foo(n) values ('a'),('b'),('c') returning currval('some_sequence'), id); ERROR: syntax error at or near insert LINE 1: insert into foo2 (id1, id2) (insert into foo(n) values ('a')... I know, it is intended in 8.5 with the 'WITH' - clause, but not yet in 8.4, right? (and there are no other RDBMS which can do that?) Thanks, Andreas -- Andreas Kretschmer Kontakt: Heynitz: 035242/47150, D1: 0160/7141639 (mehr: - Header) GnuPG: 0x31720C99, 1006 CCB4 A326 1D42 6431 2EB0 389D 1DC2 3172 0C99 -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
Re: [GENERAL] re-using RETURNING
On Thu, Nov 12, 2009 at 1:41 PM, A. Kretschmer andreas.kretsch...@schollglas.com wrote: Hi, just to be sure, it is still (8.4) not possible to use RETURNING within an other INSERT? it is being discussed for 8.5, but as far as features go - stable versions don't change (at least change is very very very very very unlikely), so 8.4 will stay the same. -- GJ
Re: [GENERAL] re-using RETURNING
2009/11/12 A. Kretschmer andreas.kretsch...@schollglas.com: Hi, just to be sure, it is still (8.4) not possible to use RETURNING within an other INSERT? To show what i mean: test=*# insert into foo2 (id1, id2) (insert into foo(n) values ('a'),('b'),('c') returning currval('some_sequence'), id); ERROR: syntax error at or near insert LINE 1: insert into foo2 (id1, id2) (insert into foo(n) values ('a')... I know, it is intended in 8.5 with the 'WITH' - clause, but not yet in 8.4, right? (and there are no other RDBMS which can do that?) Well there is a little trik in actual versions... use these options: \a \t \o /tmp/archivo.csv then DELETE FROM tabla WHERE entero =13 RETURNING *; (remember that you can throught this query from shell command line, with psql options) (next step, delete the last line of the file archivo.csv: DELETE 9890) create a clon - void table (this will be your log table, if you have already created this , avoid this step): postgres=# CREATE TABLE tabla_2 AS SELECT * FROM tabla WHERE 1=0; SELECT Then you can go with this postgres=# COPY tabla_2 FROM '/tmp/returnes.csv' DELIMITER '|'; COPY 19780 postgres=# SELECT * from tabla_2 limit 1; entero 13 (1 row) Obviusly, you can automatize these steps in a shell script. Hope you enjoy it. -- Emanuel Calvo Franco DBA at: www.siu.edu.ar www.emanuelcalvofranco.com.ar -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
Re: [GENERAL] re-using RETURNING
On 12/11/2009 9:41 PM, A. Kretschmer wrote: Hi, just to be sure, it is still (8.4) not possible to use RETURNING within an other INSERT? Not directly, now. However, if I recall correctly in 8.4 you *CAN* use a ... RETURNING statement within an SQL function, and use the results of that in another query. -- Craig Ringer -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
Re: [GENERAL] re-using RETURNING
A. Kretschmer andreas.kretsch...@schollglas.com wrote: Hi, just to be sure, it is still (8.4) not possible to use RETURNING within an other INSERT? Thx for all replies. It is not a really problem, i will write a benchmark to compare the new writeable CTE (in 8.5 alpha) with the old style (8.4). That's all ;-) And yes, i will publish the result, of course. 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-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general