Re: Support for Limit in Update, Insert... - Mailing list pgsql-general

From Tom Lane
Subject Re: Support for Limit in Update, Insert...
Date
Msg-id 28935.1126234165@sss.pgh.pa.us
Whole thread Raw
In response to Re: Support for Limit in Update, Insert...  (Alvaro Herrera <alvherre@alvh.no-ip.org>)
Responses Re: Support for Limit in Update, Insert...
Re: Support for Limit in Update, Insert...
List pgsql-general
Alvaro Herrera <alvherre@alvh.no-ip.org> writes:
> This has been discussed before, and rejected.  Please see the archives.

For SELECT, both LIMIT and OFFSET are only well-defined in the presence
of an ORDER BY clause.  (One could argue that we should reject them when
no ORDER BY, but given that the database isn't getting changed as a side
effect, that's probably too anal-retentive.  When the database *is*
going to be changed, however, I for one like well-defined results.)

If this proposal included adding an ORDER BY to UPDATE/DELETE, then it
would at least be logically consistent.  I have not seen the use-case
for it though.  In any case you can usually get the equivalent result
with something like

    UPDATE foo SET ...
    WHERE pkey IN (SELECT pkey FROM foo ORDER BY ... LIMIT ...);

            regards, tom lane

pgsql-general by date:

Previous
From: Leonid Safronie
Date:
Subject: Cost based SELECT/UPDATE
Next
From: Poul Jensen
Date:
Subject: SQL - planet redundant data