Pular para o conteúdo

Fóruns SQL e PL/SQL Calcular Sequencia (Não encontrei um nome mais sugestivo) Calcular Sequencia (Não encontrei um nome mais sugestivo)

#94760
burga
Participante

    Importa a tabela e depois roda esse procedimento…

    DECLARE
    l_contador NUMBER(3);
    BEGIN
    FOR i IN (SELECT DISTINCT Codigo, TipoPreco, Filial FROM TABELA) LOOP
    l_contador := 1;
    FOR j IN (SELECT ROWID, Codigo, TipoPreco, Filial FROM TABELA
    WHERE Codigo = i.Codigo AND TipoPreco = i.TipoPreco
    AND Filial = i.Filial ORDER BY ValidadeFim NULLS FIRST) LOOP
    UPDATE TABELA SET Sequencia = l_contador WHERE ROWID = j.ROWID;
    l_contador := l_contador + 1;
    END LOOP;
    END LOOP;
    END;
    /

    Só precisa acertar o nome da tabela nas consultas do procedimento e os nomes das colunas… às vezes pode ter algum errinho de programação também pois eu não testei, mas a idéia é essa aí…

    Não coloquei o commit só pra você poder testar… Mas se o procedimento estiver certo, depois vc commita manualmente!