2

Click here to load reader

Taller 1 bdd

Embed Size (px)

DESCRIPTION

taller 1 Programacion base de datos, Duoc UC

Citation preview

Page 1: Taller 1 bdd

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

Page 2: Taller 1 bdd

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.