|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Nouveau Membre du Club
![]() Inscription : janvier 2008 Messages : 109 ![]() |
Bonjour,
Je suis en Oracle 11g. J'utilise une table UTILISATEUR_ORA comme pool de connexion (couple login/mot de passe). Un webservice devrait appeler la fonction ci dessous afin de retourner l'id d'une seule ligne de cette table telle que la ligne soit la plus ancienne (attr UTO_DATE_SATUT) et dans l’état 'LIBRE' (attr UTO_STA). ou -1 si il n'y a plus de ligne correspondante (plus de place [pour le moment]dans le pool de connexion) Code :
Code :
Et surtout comment obtenir un curseur qui ne fetch qu'une seule ligne selon les conditions : la plus ancienne et le statut à LIBRE ? Car FOR UPDATE SKIP LOCKED devrait ne me retourner qu'une ligne non verrouillée ET correspondant à mes conditions citées ci-dessus, non ? ![]() Merci pour votre aide |
||||
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé Sénior
![]() ![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 3 313 ![]() |
Code :
|
||
|
|
00
|
|
|
#3 | ||
|
Nouveau Membre du Club
![]() Inscription : janvier 2008 Messages : 109 ![]() |
Bonjour mnitu et merci pour votre réponse,
Mais n'y aura - t il pas de problèmes de 'lost_update' si plusieurs threads fonds appelle à la fonction Reserve_UOC dans un même laps de temps ? En fait, en parallele de cette fonction j'ai un trigger on logon database qui fait un update sur UTILISATEUR_ORA (et crée un job pour modifier le mot de passe aleatoire) tel que : Code :
|
||
|
|
00
|
|
|
#4 |
|
Expert Confirmé Sénior
![]() ![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 3 313 ![]() |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com