Propósito
Bloquear dados para uso exclusivo.
Sintaxe
RLOCK ()
Utilização
Utilizado com bloqueio de banco de dados, para bloquear somente registros para leitura exclusiva, sem bloquear todo o banco de dados. Num bloqueio deste tipo, o usuário que o efetuou, poderá ler e atualizar o registro acessado.
Para que este tipo de bloqueio obtenha sucesso, todos os programas devem bloquear dados para leitura.
Esta função retorna falso (.F.), quando excede o máximo de tentativas de bloqueio. Retorna verdade (.T.), quando o bloqueio é efetuado. O número de tentativas de bloqueio é definido pelo comando SET LOCKLOOP.
Para desbloquear o registro bloqueado por esta função, basta invocá-la novamente ou utilizar o comando UNLOCK, para desbloquear todos os registros bloqueados.
A função RLOCK() bloqueia os registros por área selecionada independentemente do tipo de bloqueio utilizado na definição do banco de dados.
Exemplo
O exemplo a seguir mostra-nos como utilizar esta função.
DATABASE bdemp1 33 a 2
USE tab_depe
* Ler todos os registros dos filhos
SEEK par_depe = "FILHO"
* Bloqueia primeiro registro da cadeia
? RLOCK ()
DO WHILE FOUND()
* Le o próximo registro
SKIP
* Desbloqueia o registro anterior
* e bloqueia o registro atual
? RLOCK ()
ENDDO
Consulte
FIND, LOCATE, LOCK, MODIFY, SET LOCKLOOP, FINSERT (), FSEEK ().