jueves, 17 de noviembre de 2011

Trabajo de la clase pasada

-- RESPUESTA NUMERO 1 DEL TALLER PBD

CREATE OR REPLACE FUNCTION fnCambiarNombre(pNumCliente CHAR, pNombre VARCHAR2(30)) 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;

-- RESPUESTA NUMERO 2 DEL TALLER PBD

SELECT numCliente, nombre, fnCambiaNombre(‘CR76’, ‘Juan’)
FROM Cliente
WHERE numcliente = ‘CR76’
SELECT fnCambiarNombre('CR76', 'Juancho') FROM dual;
-- este select no es valido, no se puede hacer uno cuando esta funcionando la function
-- este que se hara acontinuacion si es valido
BEGIN
    dbms_output.put_line('Nombre Antiguo : '||fnCambiarNombre('CR76', 'Juancho'));
END;

-- RESPUESTA NUMERO 3 DEL TALLER PBD

CREATE VIEW ArriendoPorCliente AS
SELECT numArriendo, renta, nombre, c.numCliente
FROM Arriendo a, Cliente c
WHERE a.numCliente = c.numCliente;

SELECT * FROM ArriendoPorCliente

-- RESPUESTA NUMERO 4 DEL TALLER PBD

UPDATE ArriendoPorCliente
SET renta = 6500;
WHERE numArriendo = 10024;
-- SI se puede modificar el dato de la tabla creada
UPDATE ArriendoPorCliente
SET renta = 6500, nombre = 'Maria'
WHERE numArriendo = 10024;
-- NO se puede modificar mas de 2 datos de una tabla de union

No hay comentarios:

Publicar un comentario