Kevin McConnell wrote:
CREATE OR REPLACE FUNCTION public.getmsg() RETURNS integer LANGUAGE plpgsql AS $function$ declare rec record; begin for rec in select id from msg where busy =alse order by id loop update msg set busy =rue where id = rec.id and busy = false; if found then return rec.id; end if; end loop; return -1; end; $function$I think you could also do something roughly similar in a statement by using a RETURNING clause on the update, such as: update msg set busy =rue where id = (select min(id) from msg where busy =alse) returning *; Cheers, Kevin
Thank you guys! But what's min(id) for? Is it neccessary? Is there any chance I can replace min(id) to LIMIT 1?
Best regards, Nick. -- Sent via pgsql-general mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
