Inicialmente peço desculpas ao Marcio Tavares por utilizar seu tópico, porém achei correto usá-lo visto que trata-se de uma dúvida sobre triggers.
Estou no inicio do aprendizado de triggers, e preciso desenvolver uma seqüencia de triggers para as regra de negócio de um site.
Minha dúvida é a seguinte:
Me encaminharam a seguinte regra de negócio.
RN5 - Cada pedido poderá no máximo conter 06 porções;
Para isso desenvolvi a seguinte Trigger:
Selecionar tudo
CREATE OR REPLACE
TRIGGER RN5 BEFORE INSERT OR UPDATE ON CARDAPIOPEDIDO
FOR EACH ROW
BEGIN
IF:NEW.QUANTIDADE > 6 THEN
RAISE_APPLICATION_ERROR( -20101, 'Os pedidos devem possuir no máximo 6 porções' );
END IF;
END;
Compilou e funcionou perfeitamente, contudo após o código pronto foi acrescentado a seguinte sub-regra ao meu trabalho (em cima da hora)
RN5.1 - Para pedidos superiores, deverá ser contratado com 1 semana de antecedência
Seguindo meu requisito e os códigos já implementados (collections e etc...)
Fiz a seguinte analise do que deveria ser feito com o novo código (trigger)
"Após a ativação da Trigger anterior, deveria ser efetuado uma nova operação para que o usuário recebe-se uma mensagem (ex. Para pedidos superiores a 6 porções o prazo de entrega é de 1 semana), onde o cliente confirmaria ou não. Caso Confirmado o sistema deveria liberar o preenchimento dos dados, chamando logo em seguida uma função que mostraria automaticamente a data de entrega somando 1 semana (invalidando assim a Collection de tempo de entrega)".
Como efetuar esta nova Trigger? Como chamar uma mensagem de confirmação para o usuário? Terei que chamar uma classe JAVA como me falaram?
Agradeço a atenção dispensada