Ejercicio No.1
Crear un procedimiento con el nombre de Actualiza_Saldo, el cual deberá permitir actualizar el saldo de una cuenta, la tabla se llama: Saldos_Cuentas y contiene los siguientes campos: Saldo de tipo numérico, Fecha_Actualizacion tipo date y Co_Cuenta (número de cuenta) de tipo numérico. El procedimiento debe permitir enviar el número de cuenta y saldo como parámetros para su búsqueda y actualización, así mismo la fecha de actualización debe ser actualizada con la fecha del sistema.
CREATE TABLE Saldos_Cuentas ( Saldo INTEGER , Fecha_Actualizacion DATE , Co_Cuenta INTEGER NOT NULL ); ALTER TABLE Saldos_Cuentas ADD CONSTRAINT Saldos_Cuentas_PK PRIMARY KEY ( Co_Cuenta ) ; Insert into SALDOS_CUENTAS (SALDO,FECHA_ACTUALIZACION,CO_CUENTA) values (333,to_date('11/08/15','DD/MM/RR'),3); Insert into SALDOS_CUENTAS (SALDO,FECHA_ACTUALIZACION,CO_CUENTA) values (33333,to_date('12/08/15','DD/MM/RR'),4); CREATE OR REPLACE PROCEDURE Actualiza_Saldo(Cuentabuscar INTEGER,nuevosaldo INTEGER) AS BEGIN UPDATE SALDOS_CUENTAS SET saldo= nuevosaldo, FECHA_ACTUALIZACION = SYSDATE WHERE CO_CUENTA=Cuentabuscar; END; SELECT * FROM SALDOS_CUENTAS; EXEC ACTUALIZA_SALDO(3,4443333) SELECT * FROM SALDOS_CUENTAS;
Ejercicio No. 2
Crear un procedimiento con el nombre de Ver_departamento, el cual debe permitir enviar como parámetro el número de departamento a través de la variable numdepart de tipo numérico, se debe de declarar las variables v_dnombre tipo varchar2 de 14 posiciones y localidad tipo varchar2 de 14 posiciones. El procedimiento debe realizar una consulta en la tabla depart la cual contiene los siguientes campos: dnombre(nombre del departamento), loc(localidad) y depot_no(número de departamento), la consulta se ejecutara a través del numdepart que se envía como parámetro, en caso de encontrar el número de departamento deberá de mostrar a través de un DBMS_OUTPUT el número de departamento con el nombre del mismo y su localidad, si no encontrase el departamento se debe de levantar la exception WHEN NO_DATA_FOUND, mostrando por medio de un DBMS_OUTPUT que no encontró el departamento.
CREATE TABLE depart ( dnombre varchar2(14) , loc varchar2(14) , depot_no INTEGER NOT NULL ); ALTER TABLE depart ADD CONSTRAINT depart_PK PRIMARY KEY ( depot_no ); create or replace PROCEDURE Ver_departamento(numdepart INTEGER) is v_dnombre varchar2(14); localidad varchar2(14); BEGIN SELECT dnombre into v_dnombre FROM depart WHERE depot_no = numdepart; DBMS_OUTPUT.PUT_LINE('Numero de departamento: '|| numdepart); DBMS_OUTPUT.PUT_LINE('Nombre: ' || v_dnombre); DBMS_OUTPUT.PUT_LINE('localidad: ' || localidad); EXCEPTION WHEN no_data_found THEN dbms_output.put_line('No se encontro ningun departamento'); WHEN others THEN dbms_output.put_line('Ha ourrido un error!'); END; exec Ver_departamento(2)