lunes, 23 de septiembre de 2013

Ejemplos Sencillos de PL/SQL: División por Cero

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