Exercicios pl/sql

352 palavras 2 páginas
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ção date) 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,valor number) 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 última data 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 PROCEDURE que 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 (select c.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 and dados.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;

Relacionados

  • Exercicios pl/sql
    511 palavras | 3 páginas
  • sql oracle
    60486 palavras | 242 páginas
  • Introducao ao oracle sql e plsql v.1
    68846 palavras | 276 páginas
  • Linguagensdebancosdedadossqlepl-sql
    109105 palavras | 437 páginas
  • MySql introdução
    558 palavras | 3 páginas
  • Pl /sql avançado
    9369 palavras | 38 páginas
  • banco de dados
    543 palavras | 3 páginas
  • Banco de Dados
    596 palavras | 3 páginas
  • APOSTILA SQL
    687 palavras | 3 páginas
  • Oracle
    1236 palavras | 5 páginas