Re: using limit with delete
От | Chris Smith |
---|---|
Тема | Re: using limit with delete |
Дата | |
Msg-id | 42549A7B.4090801@interspire.com обсуждение исходный текст |
Ответ на | Re: using limit with delete (Neil Conway <neilc@samurai.com>) |
Список | pgsql-general |
For the archives... Using 7.4 so IN() is a little slower, so I rewrote it slightly to be DELETE FROM table WHERE EXISTS (select x from table .... LIMIT ...); Works very nicely :) Thanks again. Neil Conway wrote: > Chris Smith wrote: > >> I'm trying to use a limit clause with delete, but it doesn't work at >> the moment > > > It isn't in the SQL standard, and it would have undefined behavior: the > sort order of a result set without ORDER BY is unspecified, so you would > have no way to predict which rows DELETE would remove. > >> delete from table where x='1' limit 1000; > > > You could use a subquery to achieve this: > > DELETE FROM table WHERE x IN > (SELECT x FROM table ... ORDER BY ... LIMIT ...); > > -Neil > > ---------------------------(end of broadcast)--------------------------- > TIP 2: you can get off all lists at once with the unregister command > (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) > -- Regards, Chris Smith Unit 2, 3 National Street, Rozelle, NSW 2039 Australia Ph: +61 2 9555 5570 Fx: +61 2 9555 5571 email: info@interspire.com web: http://www.interspire.com
В списке pgsql-general по дате отправления: