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)

#94819
facc
Participante

    Não funcionou esse procediemento, deu erro de violação de chave no update.

    Em outro forum me passaram essa Trigger

    CREATE OR REPLACE TRIGGER TRG_TABELA BEFORE INSERT ON TABELA
    DECLARE
    VN_SEQUENCIA NUMBER;
    BEGIN
    BEGIN
    SELECT SEQUENCIA INTO VN_SEQUENCIA
    FROM TABELA
    WHERE Codigo ::NEW.CODIGO AND TipoPreco = NEW.TIPOPRECO AND FILIAL = :NEW.FILIAL;
    EXCEPTION
    WHEN NO_DATA_FOUND THEN
    VN_SEQUENCIA:=0;
    END;
    VN_SEQUENCIA:=VN_SEQUENCIA+1;
    NEW.SEQQUENCIA := VN_SEQUENCIA;
    END;

    É quase isso que eu preciso. Só preciso de um ajuste, pois qndo a ValidadeFim for nulo/branco a sequencia tem que ser maior.