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 <[EMAIL PROTECTED]>


---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

Reply via email to