Black November

ATÉ 50% OFF

TÁ ACABANDO!

0 dias

0 horas

0 min

0 seg

1
resposta

Function com Retorno PIPELINED

Olá, Tenho uma Função recursiva que retorna Pipelined com todas baixas de um boleto. Porém pode ter repetição de dados devido a recursividade (um ou mais boletos poder ser baixados como outro boleto) a duvida é o seguinte. tem como fazer uma tratativa desse dado PIPILENED antes de dar o Return? Tipo um update... ou tipo

    FOR i..TAB_RETORNO.COUNT LOOP
        IF TAB_RETORNO(i) = X then
            TAB_RETORNO.DELETE();
        ELSE
            TAB_RETORNO.UPDATE();
    EN IF;
    END LOOP;

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta

Oi Mauricio! Como você está?

Peço desculpas por demorar a te responder.

Sim, é possível fazer a tratativa dos dados pipelined antes do return.

Para isso, é necessário colocar a lógica desejada dentro do loop FOR que itera sobre sua tabela TAB_RETORNO. Entretanto, uma função pipelined não sustenta comandos DML como o UPDATE, então é necessário usar outra lógica para solucionar esse problema. Uma possibilidade é criar uma tabela temporária que armazene os resultados tratados e em seguida, realizar as operações de exclusão ou atualização nessa nova estrutura de dados temporária antes de retornar o resultado pipelined.

Espero ter contribuído! Abraços.