Oii, Eduardo! Tudo bom?
Uma sugestão é usar o UPDATE
que utiliza uma lógica similar à da função OBTER_CATEGORIA_CLIENTE
, para atualizar dinamicamente os valores do campo CATEGORIA
com base em novas regras.
Abaixo deixo um exemplo para você realizar o teste. Mas antes, é importante que faça o teste fora do ambiente de produção. Salve uma cópia da tabela antes de fazer o teste para caso preciso estará lá.
UPDATE CLIENTE
SET CATEGORIA =
CASE
WHEN FATURAMENTO_PREVISTO <= CLIENTE_PAC.c_PEQUENO THEN 'PEQUENO'
WHEN FATURAMENTO_PREVISTO <= CLIENTE_PAC.c_MEDIO THEN 'MEDIO'
WHEN FATURAMENTO_PREVISTO <= CLIENTE_PAC.c_MEDIO_GRANDE THEN 'MEDIO GRANDE'
ELSE 'GRANDE'
END;
No exemplo acima, o comando irá atualizar a coluna CATEGORIA
de todos os registros na tabela CLIENTE
com base nos novos limites que você definiu nas constantes.
Para expandir os seus conhecimentos, recomendo que sempre tenha a documentação em mãos para te auxiliar.
Faça o teste adaptando ao seu projeto e observe se funciona como deseja. Espero ter ajudado e conte sempre com a gente aqui no fórum.
Bons estudos e até mais!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado!