Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia camaradas, seguinte.
Recebi uma demanda para alterar a forma de auditar o campo status de um formulário que possuo, atualmente sempre que altera o status, cria um registro no histórico de status com o valor novo, porém agora eles querem gravar os dois, o valor antigo e o novo, para os novos registros é fácil, mas como o mundo não é perfeito, é imprescindível atualizar o legado e eu não estou encontrando uma formula para isso, segue abaixo os dados:
tabela: cliente_acompanhastatus
Campos atuais:
strRequestID (sequencial)
strInstanceId (não é sequencial, porém é único)
strStatusPara (antigo strStatus que armazenava somente o status novo)
strStatusDe (campo criado para pegar o valor strStatusPara
Segue o Update que criei, porém somente pega o primeiro valor, porém não deu certo, pois pega sempre o primeiro registro:
update
( select * from cliente_acompanhastatus) tab1
set
( tab1.strStatusDe ) =
(
select
strStatusPara
from
cliente_acompanhastatus tab2
where
tab1.strInstanceId = tab2.strInstanceId and
tab1.strRequestID > tab2.RstrRequestID and
rownum = 1
)Carregando comentários...