Probé este ejemplo en Oracle 11.2.0.2.7. No está permitido dividir por cero en PL/SQL y, si intentas a hacerlo, Oracle te da un error ORA-01476:
SQL> DECLARE
2 COCIENTE NUMBER;
3 BEGIN
4 COCIENTE := 1 / 2;
5 DBMS_OUTPUT.PUT_LINE('Primer Cociente = '||COCIENTE);
6 COCIENTE := 1 / 0;
7 DBMS_OUTPUT.PUT_LINE('Segundo Cociente = '||COCIENTE);
8 END;
9 /
Primer Cociente = .5
DECLARE
*
ERROR en linea 1:
ORA-01476: el divisor es igual a cero
ORA-06512: en linea 6
SQL>
Se puede atrapar este error con la excepción ZERO_DIVIDE de la manera siguiente:
SQL> DECLARE
2 COCIENTE NUMBER;
3 BEGIN
4 COCIENTE := 1 / 2;
5 DBMS_OUTPUT.PUT_LINE('Primer Cociente = '||COCIENTE);
6 COCIENTE := 1 / 0;
7 DBMS_OUTPUT.PUT_LINE('Segundo Cociente = '||COCIENTE);
8 EXCEPTION
9 WHEN ZERO_DIVIDE THEN
10 DBMS_OUTPUT.PUT_LINE('No se puede dividir por cero');
11 END;
12 /
Primer Cociente = .5
No se puede dividir por cero
Procedimiento PL/SQL terminado correctamente.
SQL>
No hay comentarios:
Publicar un comentario