Como verificar se registro está travado no postgres

Fórum sobre Banco de Dados e RDDs para Clipper/[x]Harbour.

Moderador: Moderadores

rossine
Usuário Nível 3
Usuário Nível 3
Mensagens: 325
Registrado em: 06 Ago 2007 09:57
Localização: Divinópolis-MG

Como verificar se registro está travado no postgres

Mensagem por rossine »

Olá pessoal,

Como faço para testar se o registro está travado no postgres ? Já tentei assim:

Código: Selecionar todos


BEGIN WORK
SELECT * FROM MINHA_TABELA WHERE "RECNO" = 10 FOR UPDATE
...mas quando executo esta senteça novamente, o programa fica travado até o 1º comandar o "Commit"

Obrigado,

Rossine.
Rossine.

Harbour 3.4, MingW / Msvc, QT, Qt5xhb, GtQtc, DbfCdx, MySql/MariaDB.
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Como verificar se registro está travado no postgres

Mensagem por sygecom »

Olá Rossine,
Uma dica:
Baixe a versão demo do xharbour comercial, pegue um sistema seu compile com ele e faça ele se conectar no seu prostregres e use comandos do xBase para travar, append, commit e etc.. veja como ela trata isso em SQL usando as seguintes funções abaixo:

SR_StartTrace() // PARA VER OS COMANDOS SQL EM UM ALERT()
SR_StartLog() // PARA SALVAR OS COMANDOS SQL EM DBF LOCAL

Isso tem me ajudado bastante a fazer query complexas, o pessoal do xharbour comercial esta de parabens.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
rossine
Usuário Nível 3
Usuário Nível 3
Mensagens: 325
Registrado em: 06 Ago 2007 09:57
Localização: Divinópolis-MG

Re: Como verificar se registro está travado no postgres

Mensagem por rossine »

Olá Leonardo,

Obrigado pela Dica :)Pos Procurando na internet achei p "NOWAIT", era o que faltava:

Código: Selecionar todos

BEGIN WORK
SELECT * FROM MINHA_TABELA WHERE "RECNO" = 10 FOR UPDATE NOWAIT
Valeu,

Rossine.
Rossine.

Harbour 3.4, MingW / Msvc, QT, Qt5xhb, GtQtc, DbfCdx, MySql/MariaDB.
Responder