Stack Overflow em Português Asked by Pablo Dos Santos Neves on September 27, 2021
Bom dia,
Estou com dificuldades em criar uma trigger que verificar no insert e no update um numero de rateio superior a x ( estou usando 30 para testes) em cada nota de compra. Essa é a primeira Trigger que crio em minha vida então não sei se o código que irei postar tem algo a ver. Trabalhamos com Oracle, existe uma tabela chamada TGFRAT onde armazena os valores de rateio da nota tendo NUFIN que seria o numero identificador da nota, PERCRAT é o percentual de rateio utilizado e que precisa ser validado, sendo que o valor pode ser rateado em vários centros de custos, e ORIGEM que é um campo string que precisa receber ‘E’. Preciso que a trigger valide se a soma de todos os rateios na nota seja superior a 30 , sendo que pode ser rateado em vários centros de custos. Desculpe caso a explicação tenha ficado difícil de entender, mas é por que realmente é a primeira vez que faço uma trigger. Desde já agradeço a atenção.
BEFORE INSERT OR UPDATE ON TGFRAT
FOR EACH ROW
DECLARE P_NUFIN INTEGER;
P_PERCRATEIO FLOAT;
P_ORIGEM CHAR(1);
BEGIN
P_NUFIN = NEW.NUFIN
P_PERCRATEIO = NEW.PERCRATEIO
P_ORIGEM = NEW.ORIGEM
SELECT COUNT(*) INTO P_PERCRATEIO FROM TGFRAT WHERE NUFIN = P_NUFIN AND ORIGEM = P_ORIGEM;
IF
(P_PERCATEIO >30) THEN ' ERROR'
END IF;
IF
P_ORIGEM <> 'E' THEN ' ORIGEM ERROR'
END IF;
END ```
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP