Am Donnerstag, den 09.06.2005, 16:30 +0200 schrieb GIROIRE, Nicolas
(COFRAMI):
> Hi,
>
> I try to deploy an Application with Oracle Database to a solution with postgresql.
> the Oracle system exists and we use a request which return an int in a variable nb by "returning nb_lock into nb"
>
> UPDATE xdb_ancestors_lock SET nb_lock=nb_lock+1 WHERE doc_id=? AND ele_id=? returning nb_lock INTO nb;
>
> I'd like to know if there is equivalent solution under postgresql or if i'm obliged to do a select before my
update.
>
> Best regards,
>
> Nico
>
Looks like you really want:
UPDATE xdb_ancestors_lock SET nb_lock=nextval('nb_lock_sequence') WHERE
doc_id=? AND ele_id=?;
SELECT currval('nb_lock_sequence');
if you created a sequence and want assign just another free key.
If not, you need SELECT ... FOR UPDATE instead.
--
Tino Wildenhain <tino@wildenhain.de>