Update Correlacionamento

22/03/2006

Pessoal estou precisando atualizar minha tabela de [color=blue:16baee1649]itenspedidos[/color:16baee1649] o campo [color=blue:16baee1649]pedquant = 0 [/color:16baee1649]
desde que ela obedeça os critérios da tabela [color=blue:16baee1649]dadospedidos[/color:16baee1649] que é o cabeçalho do pedido.

Resumindo, quero colocar todas as quantidades da tabela de itenspedidos igual a 0 (zero), quando minha nota (tabela dadospedidos) já estiver sido faturada (campo dpcontronota) e minha duplicata estiver sido impressa também (campo dpcontrodup).

update itenspedidos i set pedquant = 0 where i.pednum = ( select dppednum From dadospedidos d where (d.dpcontronota = ´S´ and d.dpcontrodup = ´S´) or (d.dpstatus = ´C´) and i.pednum = d.dppednum)


Quando peço para executar o processamento começa e fica por alguns segundos (como se estivesse travado) mas depois aparece a mensagem abaixo.

Unsuccessful execution caused by system error that does not preclude successful execution of subsequent statements. lock conflict on no wait transaction. deadlock.



Se alguém puder me ajudar e precisar de mais detalhes é só postar.

:lol:

[url]http://geocities.yahoo.com.br/digitosistemas/[/url]


Digitom

Respostas

23/03/2006

Digitom

:twisted: :lol:

Consegui resolver,
estou postando a solução para alguém passar pelo mesmo problema que eu. Segue instrução:

update itenspedidos ip set ip.pedquant = 0
where ip.pednum =
(
select dppednum
from dadospedidos
where
(dppednum = ip.pednum and dpcontronota = ´S´ and dpcontrodup = ´S´) or
(dppednum = ip.pednum and dpstatus = ´C´)
)



Responder Citar