Re: wCTE behaviour
Clark C. Evans <cce@clarkevans.com>
From: "Clark C. Evans" <cce@clarkevans.com>
To: "Marko Tiikkaja" <marko.tiikkaja@cs.helsinki.fi>, "Tom Lane" <tgl@sss.pgh.pa.us>
Cc: "David Fetter" <david@fetter.org>, "Yeb Havinga" <yebhavinga@gmail.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2010-11-13T15:36:21Z
Lists: pgsql-hackers
On Sat, 13 Nov 2010 17:23 +0200, "Marko Tiikkaja" wrote: > So these queries would behave differently? > > WITH t AS (DELETE FROM foo RETURNING *) > SELECT 1 WHERE false; > > WITH t AS (DELETE FROM foo RETURNING *) > SELECT 1 FROM t LIMIT 0; I'm still trying to wrap my head around this new mechanism. What would this return? UPDATE foo SET access = 0; WITH t AS (UPDATE foo SET access = access + 1 RETURNING *) SELECT x.access, y.access FROM t CROSS JOIN t;