Re: insert into t1 (delete from t0 returning *)

From: "Merlin Moncure" <mmoncure(at)gmail(dot)com>
To: "Matthew Dennis" <mdennis(at)merfer(dot)net>
Cc: PGSQL <pgsql-general(at)postgresql(dot)org>
Subject: Re: insert into t1 (delete from t0 returning *)
Date: 2007-12-18 01:17:12
Message-ID: b42b73150712171717u5ea82dau960accd203a13a38@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Dec 17, 2007 6:56 PM, Matthew Dennis <mdennis(at)merfer(dot)net> wrote:
> in 8.3beta3
>
> create table t0(c1 int);
> create table t1(c1 int);
>
> insert into t0 values (1);
> insert into t0 values (2);
> insert into t0 values (3);
>
> If I execute "delete from t0 returning *" it deletes the rows and returns
> the deleted rows. I could insert all those rows into t1 by doing "insert
> into t1 (select * from t0)". I would expect to be able to do the same with
> "returning *". In particular, I would expect "insert into t1 (delete from
> t0 returning *)" to delete the rows from t0 and insert them into t1 but I
> get a syntax error - is that expected?

Yes.

This is a 'faq' (although I don't think it's on the faq, maybe it should be.
It is harder than it looks.
Everyone wants it.

merlin

In response to

Browse pgsql-general by date

  From Date Subject
Next Message dterrors 2007-12-18 02:37:36 Is there PHP mysql_real_escape_string for postgresql?
Previous Message Matthew Dennis 2007-12-17 23:56:15 insert into t1 (delete from t0 returning *)