Précédent   Forum du club des développeurs et IT Pro > Bases de données > MS SQL-Server
MS SQL-Server Forum Microsoft SQL-Server. Avant de poster -> FAQ SQL-Server, Tutoriels SQL-Server
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 26/12/2012, 19h44   #1
safisafi
Invité de passage
 
Inscription : novembre 2006
Messages : 109
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 109
Points : 1
Points : 1
Par défaut SQL Server 2012 : HOLDLOCK

Bonjour,

l'un des modules de mon application doit affecter le 1er produit disponible, sachant qu'il s'agit d'une application Web, il se peut que deux usagers connectés à la fois aillent le même produit.

je me demande comment gérer les verrous sur ma table Produits ? est ce que je dois utiliser 'HOLDLOCK' comme type ?

Code :
1
2
3
 
UPDATE Produits WITH  HODLOCK SET Statut = 'RESERVE' WHERE CdeProduit = 
(SELECT Min(CdeProduit) INTO Code FROM Produits WHERE TypeProduit = XXX AND Statut='EN STOCK')
si je mets cette requête dans une procédure stocké, ceci va me résoudre le problème ?

Merci pour toute aide
safisafi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2012, 11h02   #2
Donpi
Membre régulier
 
Homme
Développeur informatique
Inscription : octobre 2008
Messages : 146
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Développeur informatique
Secteur : Boutique - Magasin

Informations forums :
Inscription : octobre 2008
Messages : 146
Points : 77
Points : 77
si tu gère bien les lock timeout dans ton appli, tu n'as pas besoin de te soucier des verrous.

Sinon un truc qui me choc, c'est le SELECT INTO dans ta sous requete
Donpi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2012, 17h08   #3
safisafi
Invité de passage
 
Inscription : novembre 2006
Messages : 109
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 109
Points : 1
Points : 1
Merci pour ta réponse.

qu'est ce que tu veux dire par 'lock timeout' ? peux tu me donner un exemple?
sinon pour le 'INTO' je compte mettre la requête dans une procédure stockée et à ma connaissance on peut utiliser le into. cela va me servir pour récupérer le code du produit en question.
safisafi est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 16h06.


 
 
 
 
Partenaires

Hébergement Web