Primeiramente o banco esqueci de falar, é o Oracle.
E na verdade não é na mesma tabela…
eu tenho 3 tabelas, A, B e C.
a tabela A e C fazem FK com a tabela B, na mesma coluna.
eu faço o select update na tabela A, e a outra thread faz o select update na tabela C, qdo a thread tenta finalizar o update na tabela C, acontece o erro.
não sei se a FK está interferindo nisso, se preciso criar algum tipo de índice, não sei… to perdido…
J
johnnylconPJ
Galera, descobri o problema.
quando eu fazia o update na tabela C, eu atualiza todos os campos e mesmo não alterando o meu ID eu escrevia ele de novo na tabela, com isso o banco entende que houve alteração no id, e por isso ele precisava validar as FK.
Então ele “lockava” a tabela C para validar o ID, a tabela B e outras tabelas que também tinha FK com a tabela B.
Como não vou alterar o ID, eu escreve todos os campos menos o ID, com isso não é necessário validar as FK.