› Fóruns › SQL e PL/SQL › Calcular Sequencia (Não encontrei um nome mais sugestivo) › Calcular Sequencia (Não encontrei um nome mais sugestivo)
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.