Trigger
Monografias: Trigger. Pesquise 862.000+ trabalhos acadêmicosPor: tormam • 20/3/2015 • 562 Palavras (3 Páginas) • 332 Visualizações
1 - Elaborar um trigger que ao modificar (insert e update) um registro na tabela ITENSVENDA, calcule o somatório dos itens
da respectiva venda e atualize (update) o campo SUBTOTAL da tabela VENDAS.
* A operação só poderá ser concluída caso a venda não tenha sido finalizada (campo FINALIZADA='N').
create or alter trigger t_item_venda_inserindo for itemvenda
active after insert or update position 1
as
declare variable finalizada char(1);
declare variable subtotal numeric(15,2);
begin
select first 1 v.finalizada
from venda v
where v.codvenda = new.codvenda
into :finalizada;
if(:finalizada='n') then
begin
select sum(iv.total)
from itemvenda iv
where iv.codvenda = new.codvenda
into :subtotal;
update venda v
set v.subtotal = :subtotal, v.total= :subtotal- v.desconto
where v.codvenda = new.codvenda;
ende
else
begin
exception e_venda_finalizada;
end
end
-------------------------------------------------------------------------------------------------
2 - Elaborar um trigger que ao inserir, editar ou excluir um registro da tabela ITEMVENDA, altere o estoque.
create trigger t_atualiza_estoque_insere for item_venda
active before insert or update position 5
as
begin
update
update produto set produtos.estoque = produtos.estoque + new.quantidae;
else
update produto set produtos.estoque = produtos.estoque + new.quantidae;
end
Atenção: serão 3 trigger (1 para cada evento).
--------------------------------------------------------------------------------------------------------------
3 - A atualização da quantidade de produtos em estoque acontece através da manipulação das tabelas de itens da compra (entrada) e itens da venda (saída).
Faça os triggers necessários para que atualize a quantidade atual do produto e insira um registro
...