Académique Documents
Professionnel Documents
Culture Documents
AS
begin
if(new.codigo is null)then
new.codigo = gen_id(gen_devolucoes,1);
end
AS
begin
if(new.codigo is null)then
new.codigo = gen_id(gen_filmes,1);
end
AS
begin
if(new.codigo is null)then
new.codigo = gen_id(gen_locacoes,1);
end
AS
begin
if(new.codigo is null)then
new.codigo = gen_id(gen_locacoes_itens,1);
end
AS
begin
if(new.codigo is null)then
new.codigo = gen_id(gen_pagamentos,1);
end
3. (1,00) Use as triggers tambm para inicializar campos como datas e valores caso
estejam nulos:
LOCACOES - Data = NOW, Valor, Pago = N
LOCACOES_ITENS - Quantidade = 0, Valor Unitario = 0, Valor Total = Quantidade * Valor
Unitario
PAGAMENTOS Data = NOW, Valor = 0
DEVOLUCOES Data = NOW, Quantidade = 0
LOCAOES:
As
begin
if(new.data is null)then
new.data = 'NOW';
Prof. Cheila Bombana Banco de Dados II.
if(new.valor is null)then
new.valor = 0;
if(new.pago is null)then
new.pago = 'N';
end
LOCACOES_ITENS:
As
begin
if(new.quantidade is null)then
new.quantidade = 0;
if(new.valorunitario is null)then
new.valorunitario = 0;
new.valortotal = new.quantidade * new.valorunitario;
end
PAGAMENTOS:
As
begin
if(new.data is null)then
new.data = 'NOW';
if(new.valor is null)then
new.valor = 0;
end
DEVOLUCOES:
As
Begin
if(new.data is null)then
new.data = 'NOW';
if( new.quantidade is null)then
new.quantidade = 0;
end
4. (1,00) Crie triggers na tabela LOCACOES_ITENS que atualizem o campo VALOR
na tabela LOCACOES aps cada insero, alterao ou excluso de registro.
After insert
Prof. Cheila Bombana Banco de Dados II.
AS
begin
update locacoes
set locacoes.valor = locacoes.valor + new.valortotal
where locacoes.codigo = new.cdlocacao;
end
After update
AS
begin
update locacoes
set locacoes.valor = locacoes.valor - old.valortotal + new.valortotal
where locacoes.codigo = new.cdlocacao;
end
After Delete
AS
begin
update locacoes
set locacoes.valor = locacoes.valor - old.valortotal
where locacoes.codigo = old.cdlocacao;
end
5. (1,50) Crie triggers na tabela LOCACOES_ITENS que atualizem o campo
QUANTIDADE_DISPONIVEL na tabela FILMES aps cada insero, alterao ou
excluso de registro.
After insert
AS
begin
update filmes
set filmes.quantidade_disponivel = filmes.quantidade_disponivel +
new.quantidade
where filmes.codigo = new.cdfilme;
end
After update
As
Begin
update filmes
set filmes.quantidade_disponivel = filmes.quantidade_disponivel old.quantidade + new.quantidade
where filmes.codigo = new.cdfilme;
Prof. Cheila Bombana Banco de Dados II.
end
After Delete
As
begin
update filmes
set filmes.quantidade_disponivel = filmes.quantidade_disponivel old.quantidade
where filmes.codigo = old.cdfilme;
end
filmes.quantidade_disponivel
end
After update
AS
begin
update filmes
set filmes.quantidade_disponivel
old.quantidade + new.quantidade
filmes.quantidade_disponivel
begin
update filmes
set
filmes.quantidade_disponivel
old.quantidade
filmes.quantidade_disponivel
:nome_cliente,
:valor_locacao,
:codigo_pgto,
do begin
valor_pendente = :valor_locacao - :valor_pgto;
suspend;
end
end
Trabalho individual.
Enviar, para o e-mail cbombana@gmail.com at o dia 02/12/2014, com o assunto
Trabalho BD II, este arquivo preenchido e o banco de dados alterado.