deadlock em update dentro da trigger
Pessoal,
Tenho um trigger que executa um update porem este nao esta sendo comitado provocando deadlock quando outro usuario tenta atualizar o mesmo registro.
Em Stored Procedures eu posso colocar um COMMIT WORK por exemplo mas em triggers nao. Ou nao sei como inserir.
PS.: Mesmo que o usuario que fez o primeiro update saia do sistema o segundo continua recebendo a mensagem de deadlock. Utilizo Delphi 6 e o erro ocorre quando dou um ApplyUpdates na TIBQuery
Tenho um trigger que executa um update porem este nao esta sendo comitado provocando deadlock quando outro usuario tenta atualizar o mesmo registro.
Em Stored Procedures eu posso colocar um COMMIT WORK por exemplo mas em triggers nao. Ou nao sei como inserir.
PS.: Mesmo que o usuario que fez o primeiro update saia do sistema o segundo continua recebendo a mensagem de deadlock. Utilizo Delphi 6 e o erro ocorre quando dou um ApplyUpdates na TIBQuery
Lhs
Curtidas 0
Respostas
Afarias
28/05/2004
|Tenho um trigger que executa um update porem este nao esta sendo
|comitado provocando deadlock quando outro usuario tenta atualizar o
|mesmo registro.
execute um commit da transação (da operação q disparou a trigger) e -- dependendo do caso, configure as transações para WAIT
|Em Stored Procedures eu posso colocar um COMMIT WORK por exemplo
|mas em triggers nao. Ou nao sei como inserir.
Na verdade não! Vc não pode abrir, ´comitar´ ou efetuar rollback seja em triggers ou stored procedures.
|PS.: Mesmo que o usuario que fez o primeiro update saia do sistema o
|segundo continua recebendo a mensagem de deadlock. Utilizo Delphi 6 e
|o erro ocorre quando dou um ApplyUpdates na TIBQuery
Como disse antes, logo após o ApplyUpdates, sugiro q execute um Commit na transação da query.
no mais, acredito q o uso de CachedUpdates com IBX não é muito legal... acho q vc não deveria utilizar desta funcionalidade.
T+
|comitado provocando deadlock quando outro usuario tenta atualizar o
|mesmo registro.
execute um commit da transação (da operação q disparou a trigger) e -- dependendo do caso, configure as transações para WAIT
|Em Stored Procedures eu posso colocar um COMMIT WORK por exemplo
|mas em triggers nao. Ou nao sei como inserir.
Na verdade não! Vc não pode abrir, ´comitar´ ou efetuar rollback seja em triggers ou stored procedures.
|PS.: Mesmo que o usuario que fez o primeiro update saia do sistema o
|segundo continua recebendo a mensagem de deadlock. Utilizo Delphi 6 e
|o erro ocorre quando dou um ApplyUpdates na TIBQuery
Como disse antes, logo após o ApplyUpdates, sugiro q execute um Commit na transação da query.
no mais, acredito q o uso de CachedUpdates com IBX não é muito legal... acho q vc não deveria utilizar desta funcionalidade.
T+
GOSTEI 0