Codigos Error
Codigos Error
DECLARE
V_NOMBRE VARCHAR2 (20);
V_SALARIO NUMBER;
BEGIN
SELECT FIRST_NAME,SALARY
INTO V_NOMBRE, V_SALARIO
FROM EMPLOYEES WHERE EMPLOYEE_ID = 'P';
EXCEPTION
WHEN INVALID_NUMBER THEN
DBMS_OUTPUT.PUT_LINE('EL VALOR ES INCORRECTO');
END;
-----------------------------------------------------
SET SERVEROUTPUT ON;
DECLARE
V_NOMBRE VARCHAR(1);
BEGIN
FOR I IN 1 .. 206 LOOP
BEGIN
SELECT FIRST_NAME
INTO V_NOMBRE
FROM EMPLOYEES WHERE EMPLOYEE_ID = I;
DBMS_OUTPUT.PUT_LINE(V_NOMBRE);
EXCEPTION
WHEN VALUE_ERROR THEN
DBMS_OUTPUT.PUT_LINE('LA EXTENCION ES PEQUEÑA');
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('NO ENCONTRADO');
END;
END LOOP;
END;
--------------------------------------------------------
SET SERVEROUTPUT ON;
DECLARE
V_NOMBRE EMPLOYEES.FIRST_NAME%TYPE;
CURSOR NO_HAY_IDEPARTAMENTO IS
SELECT DEPARTMENT_ID
FROM EMPLOYEES A
WHERE NOT EXISTS (SELECT DEPARTMENT_ID FROM EMPLOYEES WHERE
DEPARTMENT_ID = A.DEPARTMENT_ID);
BEGIN
LOOP
OPEN NO_HAY_IDEPARTAMENTO;
DBMS_OUTPUT.PUT_LINE(V_NOMBRE);
END LOOP;
CLOSE NO_HAY_IDEPARTAMENTO;
EXCEPTION
WHEN CURSOR_ALREADY_OPEN THEN
DBMS_OUTPUT.PUT_LINE('CURSOR NO ABIERTO');
END;
---------------------------------------------------------
DECLARE
V_NUMERO NUMBER;
BEGIN
FOR I IN 1 .. 206 LOOP
SELECT DEPARTMENT_ID
INTO V_NUMERO
FROM EMPLOYEES WHERE EMPLOYEE_ID = I;
DBMS_OUTPUT.PUT_LINE(V_NUMERO);
END LOOP;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('NO ENCONTRADOS');
END;
-----------------------------------------------------------
SET SERVEROUTPUT ON;
DECLARE
V_NOMBRE NUMBER;
BEGIN
SELECT 1/0
INTO V_NOMBRE
FROM EMPLOYEES;
DBMS_OUTPUT.PUT_LINE(V_NOMBRE);
EXCEPTION
WHEN ZERO_DIVIDE THEN
DBMS_OUTPUT.PUT_LINE('NO SE PUEDE DIVIDIR ENTRE ZERO');
END;
--------------------------------------------------------------
SET SERVEROUTPUT ON;
DECLARE
V_NOMBRE VARCHAR(30);
BEGIN
SELECT FIRST_NAME
INTO V_NOMBRE
FROM EMPLOYEES;
DBMS_OUTPUT.put_line(V_NOMBRE);
EXCEPTION
WHEN TOO_MANY_ROWS THEN
DBMS_OUTPUT.PUT_LINE('MUCHAS FILAS');
END;
---------------------------------------------------------------
SET SERVEROUTPUT ON;
DECLARE
V_NOMBRE EMPLOYEES.FIRST_NAME%TYPE;
CURSOR NO_HAY_IDEPARTAMENTO IS
SELECT DEPARTMENT_ID
FROM EMPLOYEES A
WHERE NOT EXISTS (SELECT DEPARTMENT_ID FROM EMPLOYEES WHERE
DEPARTMENT_ID = A.DEPARTMENT_ID);
BEGIN
OPEN NO_HAY_IDEPARTAMENTO;
LOOP
FETCH NO_HAY_IDEPARTAMENTO INTO V_NOMBRE;
EXIT WHEN NO_HAY_IDEPARTAMENTO%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(V_NOMBRE);
CLOSE NO_HAY_IDEPARTAMENTO;
END LOOP;
EXCEPTION
WHEN INVALID_CURSOR THEN
DBMS_OUTPUT.PUT_LINE('CURSOR INVALIDO');
END;
--------------------------------------------------------------
DECLARE
V_DEPARTAMENTO NUMBER;
BEGIN
INSERT INTO TABLA_DE_RESULTADO
(SELECT DEPARTMENT_ID FROM EMPLOYEES);
EXCEPTION
WHEN DUP_VAL_ON_INDEX THEN
NULL;
END;