Обсуждение: With Update From ... vs. Update ... From (With)
Hello!
Is there any non-functional difference between these two forms of Update?
WITH name AS ( SELECT )
UPDATE tbl SET ...
FROM name
and
UPDATE tbl SET ...
FROM ( WITH qry AS ( SELECT ) SELECT * FROM qry ) AS name
They both better give the same results but does the backend treat them differently?
Does the answer to my question depend on the version of PostgreSQL?
Thanks!
David J.
On 4/13/15 8:12 PM, David G. Johnston wrote: > Hello! > > Is there any non-functional difference between these two forms of Update? > > WITH name AS ( SELECT ) > UPDATE tbl SET ... > FROM name > WHERE tbl.id <http://tbl.id> = name.id <http://name.id> > > and > > UPDATE tbl SET ... > FROM ( WITH qry AS ( SELECT ) SELECT * FROM qry ) AS name > WHERE tbl.id <http://tbl.id> = name.id <http://name.id> > > They both better give the same results but does the backend treat them > differently? > > Does the answer to my question depend on the version of PostgreSQL? Well, they're both ugly... but see what EXPLAIN or EXPLAIN VERBOSE shows. -- Jim Nasby, Data Architect, Blue Treble Consulting Data in Trouble? Get it in Treble! http://BlueTreble.com