Post on 04-Jul-2015
description
Taller 1 – PBD5501
i. Utilizando las tablas detalladas en la base de datos DreamHome descritas en la figura 1, resuelva las siguientes actividades.
Figura 1 - Modelo DreamHome
Nota: La definición de las tablas y los insert de los registros se encuentran en:
http://orahelp.blogspot.com/search?q=completo
1. Desarrolle la función fnCambiaNombre() que actualice el campo nombre en la tabla
Cliente que recibe como parámetro: Ejemplo de llamada fnCambiaNombre(‘CR76’,
‘Juan’);, en esta llamada la función retorna ‘Jhon’.
create or REPLACE FUNCTION fnCambiaNombre(pNumClien te CHAR, pNombre VARCHAR2)
return varchar IS
--DECLARE vNombreAntiguo Cliente.nombre%TYPE; BEGIN SELECT nombre INTO vNombreAntiguo from Cliente WHERE numCliente = pNumcliente; UPDATE Cliente set nombre = pNombre
where numCliente = pNumCliente; return vNombreAntiguo; EXCEPTION when no_data_found THEN dbms_output.put_line('Cliente no encontrado: '||pN umCliente); end;
2.
3. Una vez creada la función desarrolle la siguiente consulta a la tabla cliente y explique el
resultado:
Select numCliente, nombre, fnCambiaNombre(‘CR76’, ‘ Juan’) From Cliente Where numcliente = ‘CR76’ Cambia el nombre de John a Juan donde el número de cliente es cr76
4. Cree una vista que muestre los arriendos y los clientes asociados, detallando
numArriendo, numcliente, renta y nombre del cliente.
create View ArriendosPorCliente as Select numArriendo, renta, nombre, c.numCliente from Arriendo a, Cliente c WHERE a.numCliente = c.numCliente;
5. Posteriormente indique si es posible actualizar la renta y el nombre del cliente a partir de
la vista recién creada. Desarrolle con un ejemplo
Si es posible, pero depende de la tabla que se modifique, debe ser la que en el join es
mandatorio.