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(pNumCliente 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: '||pNumCliente);
    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.

Taller 1 bdd

  • 1.
    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(pNumCliente 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
  • 2.
    where numCliente =pNumCliente; return vNombreAntiguo; EXCEPTION when no_data_found THEN dbms_output.put_line('Cliente no encontrado: '||pNumCliente); 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.