IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Enlever les verrous sur un enregistrement


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 6
    Par défaut Enlever un verrou sur un enregistrement
    Bonjour,

    Lorsque l'on pose un verrou sur un enregistrement à l'interieur d'une transaction, ce verrou est automatiquement retirer lors du COMMIT ou du ROLLBACK.

    Dans mon cas, je pose un verrou sur un enregistrement en dehors d'une transaction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT ... FROM ... WITH(UPDLOCK) WHERE ...
    Comment puis je faire pour retirer ce verrou par la suite ??

    Merci

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 002
    Billets dans le blog
    6
    Par défaut
    SQL Server étant en mode AUTO COMMIT, le verrou que vous avez placé n'est instancié que le temps de réaliser le select. Il n'a donc aucun effet dans votre cas.


    De toutes façon, utiliser des verrous directement à la place de ce que fait nativement SQL Server est à haut risque. En effet vous risquer d'entraîner des verrous mortels et donc de perdre vos connexions.

    Laissez faire SQL Server et gérez de belles transactions. Utilisez si vous le désirez différents niveau d'isolation en fonction du fonctionnel désiré dans la transaction.

    Lisez pour cela les articles que j'ai écrit :
    http://sqlpro.developpez.com/cours/sqlaz/techniques/#L1
    http://sqlpro.developpez.com/cours/s...nsactsql/#L4.5
    et pages suivantes...

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 6
    Par défaut
    Merci pour votre réponse.

    En fait je pose un verrou pour empêcher que 2 utilisateurs ne puissent modifier simultanement sur un même enregistrement dans mon application.

    Si je ne fait pas cela, deux utilisateurs ou plus peuvent modifier en même temps un même enregistrement et c'est les données du dernier "UPDATE" qui seront conservées.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Enlever les points sur les formulaires?
    Par erox44 dans le forum Débuter
    Réponses: 2
    Dernier message: 25/05/2008, 17h11
  2. Réponses: 1
    Dernier message: 06/03/2007, 14h28
  3. enlever les espace sur un champ texte
    Par lazzeroni dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 22/09/2006, 13h41
  4. verrous sur les tables
    Par rv66 dans le forum Paradox
    Réponses: 2
    Dernier message: 04/09/2005, 20h15
  5. Enlever tous les M&Mme des enregistrements
    Par marc olivier dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/07/2003, 12h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo