Bonjour,

Tout d'abord je préfère prévenir que je suis loin d'être à l'aise avec les BDD
Dans le cadre de mon boulot, je suis en charge du développement d'un outil interne pour lequel je voudrais gérer les informations via une base de données

Cet outil étant destiné à être multi-utilisateurs alors que la BDD sera commune, je cherche à savoir s'il y a une solution au sein même de SQL pour gérer des "lock" comme les suivants :

premier cas, le "lock" d'une ligne dans une table :
Lorsqu'une instance d'une application travaille sur une donnée, il ne faut pas qu'une autre instance puisse travailler sur cette même donnée
Disons qu'une donnée concerne un mois de l'année, j'ai une table qui contient les données des différents mois et donc je voudrais que les autres instances soient capables de savoir qu'elles ne peuvent pas accéder à une donnée car une instance s'en sert déjà
La donnée peut être verrouillée plusieurs heures et une même instance peut avoir à "locker" plusieurs données

second cas, le "lock" d'une table :
J'ai des tables qui contiennent des informations communes à plusieurs données
Si je traite une nouvelle donnée, j'ai besoin de mettre à jour la table (par exemple la table des "Marques" avec de nouvelles marques) mais les autres instances ne doivent pas pouvoir modifier la table pendant ce temps
Par contre, il faut que l'application sache qu'elle ne peut pas modifier cette table (il ne faut pas que ce soit bloquant)

Jusqu'à maintenant, mes recherches ont été infructueuses et j'ai bien l'impression que je vais devoir me résoudre à développer une application intermédiaire entre le serveur Sql et les clients

Gérer ces cas à l'aide de tables additionnelles me semble une mauvaise solution car, dans le cas où une instance ne se déconnecterait pas proprement du serveur il faudrait aller "nettoyer"
Mais je ne suis pas contre cette possibilité si on m'explique comment éviter ce genre de problème

Si quelqu'un a des idées à me soumettre qui me permettraient d'éviter le développement supplémentaire, je suis preneur