ACABO DE REALIZAR EL SIGUIENTE EJERCICIO DE Exceptions , Y TENGO DUDAS SI ESTOY EN LO CORRECTO, SU AYUDA LO AGRADECERÍA MUCHO
EJ:
--Realice un procedimiento almacenado que reciba código de una pieza
--y muestre el id y nombre de todos los proveedores que la
--suministran, usando cursor.
--Controle con una excepción en caso que el código de la pieza
--no exista. (Use LOOP o FOR según su preferencia)
RESPUESTA:
DROP PROCEDURE PIEZPRO;
CREATE OR REPLACE PROCEDURE PIEZPRO (P_COD PIEZAS.CODIGO%TYPE) IS
PROVE_ID PROVEEDORES.ID%TYPE;
PROVE_NO PROVEEDORES.NOMBRE%TYPE;
CURSOR SHOWPRO IS
SELECT ID,NOMBRE
FROM PROVEEDORES
WHERE CODIGO = P_COD;
BEGIN
OPEN SHOWPRO;
LOOP
FETCH SHOWPRO INTO PROVE_ID,PROVE_NO;
EXIT WHEN SHOWPRO%NOTFOUND;
DBMS_OUTPUT.PUT_LINE('EL PROVEEDOR '||PROVE_ID||' TIENE EL NOMBRE DE: '||PROVE_NO||' Y SU PIEZAS QUE SUMINISTRA ES '||P_COD);
END LOOP
CLOSE SHOWPRO;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('LA PIEZA '||P_COD||' NO EXISTE');
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('ERROR EN EL PROCESO');
END;
ESO FUE LO QUE HICE, ME AYUDAN PORFAVOR
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)