Fórum deadlock em update dentro da trigger #44520
28/05/2004
0
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
Curtir tópico
+ 0
Responder
Posts
29/05/2004
Afarias
|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+
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)