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.
Top Related