Syntaxe
Retour
Valeur |
Description |
(.F.) |
Cette valeur permet d'indiquer que la tentative de verrouillage d'un fichier de base de données dans USE dans la zone de travail actuelle a échoué. |
(.T.) |
Cette valeur permet d'indiquer qu'une tentative de verrouillage d'un fichier de base de données dans USE dans la zone de travail actuelle a réussit. |
Description
Cette fonction permet de verrouiller la table courante ou l'alias de la table spécifié et retourne un état de succès de l'opération.
Remarques
- La fonction FLOCK() est une fonction de base de données utilisée dans les environnements réseau pour verrouiller un fichier de base de données ouvert et partagé, empêchant les autres utilisateurs
de mettre à jour le fichier jusqu'à ce que le verrou soit libéré. Les enregistrements du fichier verrouillé sont accessibles pour les opérations en lecture seulement.
- La fonction FLOCK() est lié à USE ... EXCLUSIVE et RLOCK(). Le USE ... EXCLUSIVE ouvre un fichier de base de données afin qu'aucun autre utilisateur ne
puisse ouvrir le même fichier en même temps et constitue le mécanisme de verrouillage le plus restrictif de Clipper. La fonction RLOCK() est le moins restrictif et tente de placer un verrou de mise
à jour sur un enregistrement partagé, empêchant les autres utilisateurs de mettre à jour l'enregistrement en cours. La fonction FLOCK() tombe au milieu.
- La fonction FLOCK() est utilisé pour les opérations accédant à l'intégralité du fichier de base de données. En règle générale, il s'agit de commandes mettant à jour le fichier avec une étendue ou une
condition telle que DELETE ou REPLACE ALL. Voici une liste de ces commandes :
Commande |
Mode |
APPEND FROM |
FLOCK() ou USE...EXCLUSIVE |
DELETE (multiple enregistrements) |
FLOCK() ou USE...EXCLUSIVE |
RECALL (multiple enregistrements) |
FLOCK() ou USE...EXCLUSIVE |
REPLACE (multiple enregistrements) |
FLOCK() ou USE...EXCLUSIVE |
UPDATE ON |
FLOCK() ou USE...EXCLUSIVE |
- Pour chaque appel de FLOCK(), il y a une tentative de verrouillage du fichier de base de données et le résultat est renvoyé en tant que valeur logique. Un verrouillage de fichier échoue si
un autre utilisateur dispose actuellement d'un verrouillage de fichier ou d'enregistrement pour le même fichier de base de données ou USE EXCLUSIVE du fichier de base de données. Si la fonction FLOCK()
réussit, alors le verrouillage de fichier reste en place jusqu'à ce que vous déverrouilliez, fermiez la base de données ou la fonction RLOCK().
- Par défaut, la fonction FLOCK() fonctionne sur la zone de travail actuellement sélectionnée.
- SET RELATION : Le Clipper ne verrouille pas automatiquement toutes les zones de travail de la chaîne de relations lorsque vous verrouillez la zone de travail actuelle et un
UNLOCK n'a aucun effet sur les zones de travail connexes.
Dernière mise à jour : Lundi, le 2 septembre 2013