Saturday, March 1, 2014

Um pouco sobre exceptions PL/SQL no Oracle 11g

 Vou direto ao ponto. Repare na figura abaixo e veja os itens numerados:


Para entender o código acima suponha 2 tabelas (Produtos e Itens_pedidos):




    A intenção é criar uma REGRA DE NEGÓCIO que se o número total de unidades de qualquer produto vendido for maior que 20, um desconto será dado.
No bloco 1 da primeira figura, temos um cursor e o retorno dele será o seguinte:

    Ou seja, foi somado o total de unidades de cada produto em que os códigos de produto (cod_produto) fossem iguais nas duas tabelas, independente do código de pedido (cod_pedido), conforme o resultado da figura mostrada acima. Com isso, percebemos que de todos os produtos apenas os produtos com código 1 e 2 foram selecionados com mais de 20 unidades do total de pedidos.
    No bloco 2 da primeira figura, foi feito um laço para percorrer a quantidade de registros retornados do cursor. Nesse caso será impresso apenas a primeira ocorrência. Veja:


    No bloco 3 notamos que se entrar no if será disparada a exceção que criamos (grande_quantidade). Portanto, podemos concluir que algumas exceções são úteis para criarmos regras de negócios.

No comments:

Post a Comment