Exercicios pl/sql

Disponível somente no TrabalhosFeitos
  • Páginas : 2 (352 palavras )
  • Download(s) : 0
  • Publicado : 4 de julho de 2012
Ler documento completo
Amostra do texto
Correção Exercício PLSQL

LOCADORA DE VIDEO

cliente (cod_cliente varchar2(20) ,nome varchar2(90) ,endereço varchar2(120))
locacao (cod_cliente varchar2(20),cod_fita varchar2(10),data_locaçãodate)
fitas (cod_fita varchar2(10),cod_filme varchar2(10),descricao varchar2(100),data_compra date)
filmes (cod_filme varchar2(10),cod_categoria varchar2(4),descricao varchar2(90),duração number,valornumber)
categorias (cod varchar2(4),descrição varchar2(80))

Utilizando a estrutura do banco de dados de uma locadora de vídeo apresentada acima, desenvolva:

1) Uma FUNÇÃO que mostre a últimadata de locação de um filme, obtida através do código do filme passado como parâmetro.

create or replace function func_ultima_data (p_cod_filme filmes.cod_filme%type)
return date is
tmp_data date;begin
select max(data_locacao) into tmp_data
from locacao,fitas
where locacao.cod_fita = fitas.cod_fita
and fitas.cod_filme = p_cod_filme;
return(tmp_data);
end;


2) Uma PROCEDUREque atualize o preço da locação dependendo da categoria do Filme:
a. Musical – 10%
b. Drama – 15%
c. Outros – 5%

create or replace procedure atualiza_locacao is
begin
for dados in (selectc.descricao,l.cod_fita,l.cod_cliente,l.data_locacao
from categorias c,filmes f, fitas fi, locacao l
where c.cod=f.cod_categoria and
f.cod_filme = fi.cod_filme and
fi.cod_fita = l.cod_fita)loop
if dados.descricao = ‘Musical’ then
update locacao
set valor = valor * 1.1
where dados.cod_fita = cod_fita and
dados.cod_cliente = cod_cliente and
dados.data_locacao =data_locacao;
elsif dados.descricao = ‘Drama’ then
update locacao
set valor = valor * 1.15
where dados.cod_fita = cod_fita and
dados.cod_cliente = cod_cliente anddados.data_locacao = data_locacao;
else
update locacao
set valor = valor * 1.05
where dados.cod_fita = cod_fita and
dados.cod_cliente = cod_cliente and
dados.data_locacao = data_locacao;...
tracking img