Re: PL/pgSQL loops?
От | Carl van Tast |
---|---|
Тема | Re: PL/pgSQL loops? |
Дата | |
Msg-id | 9f8a0uccirf0f38ijrdmref7rqeo4tv6vd@4ax.com обсуждение исходный текст |
Ответ на | PL/pgSQL loops? ("Johnny Jørgensen" <pgsql@halfahead.dk>) |
Список | pgsql-sql |
On Wed, 28 Nov 2001 14:49:42 +0000 (UTC), pgsql@halfahead.dk ("Johnny Jørgensen") wrote: > << order_loop >> > FOR cur_order IN SELECT * FROM ordre WHERE person_id =3D p_id AND status = >=3D 1 AND id !=3D o_id > LOOP > RAISE NOTICE ''outer: %'',cur_order.id; > > << item_loop >> > FOR cur_item IN SELECT * FROM item WHERE order_id =3D cur_order_id > LOOP > RAISE NOTICE ''inner: %'',cur_item.id; > > UPDATE item SET ordre_id =3D o_id WHERE id =3D cur_item.id; > > END LOOP; > > UPDATE ordre SET status =3D 0 WHERE id =3D cur_order.id; > > END LOOP; Don't know much about LOOPs. But wouldn't this do want you want? UPDATE item SET ordre_id = o_id FROM ordre WHERE ordre.id = item.ordre_id AND ordre.person_id = p_id AND ordre.status =1 AND ordre.id != o_id UPDATE ordre SET status = 0 WHERE person_id = p_id AND status = 1 AND id != o_id Kind regards,Carl van Tast
В списке pgsql-sql по дате отправления: