Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Invité de passage
    Inscrit en
    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

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    octobre 2008
    Messages
    398
    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 : 398
    Points : 306
    Points
    306

    Par défaut

    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

  3. #3
    Invité de passage
    Inscrit en
    novembre 2006
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : novembre 2006
    Messages : 109
    Points : 1
    Points
    1

    Par défaut

    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.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •