sábado, 31 de marzo de 2012

Clase 30-03-12 pl/sql - exception


http://www.devjoker.com/contenidos/Tutorial-PLSQL/48/Excepciones-en-PLSQL.aspx

set serveroutput on

declare
  nombre varchar2(25);
begin
  dbms_output.put_line('Hola ' ||'&nombre');
end;

--

set serveroutput on

declare
  diaSemana integer;
  fechaIngresada char(2);
begin
  diasemana := to_number('&fechaIngresada');
  dbms_output.put_line('El numero ingresado es: ' || diaSemana);
EXCEPTION
  when VALUE_ERROR then
  dbms_output.put_line('Error el numero ingresado tiene que ser un numero');
end;

--

set serveroutput on

declare
  diaSemana integer;
  IngreseValorNumerico char(2);
begin
  diasemana := to_number('&IngreseValorNumerico');
  dbms_output.put_line('El numero ingresado es: ' || diaSemana);
EXCEPTION
  when VALUE_ERROR then
  dbms_output.put_line('Error el numero ingresado tiene que ser un numero');
  when others then
    rollback;
    raise;
end;

--

set serveroutput on

declare
  diaSemana integer;
  IngreseValorNumerico char(2);
begin
  diasemana := to_number('&IngreseValorNumerico');
  if diasemana > 0 and diasemana < 8 then
    dbms_output.put_line('El numero ingresado es: ' || diaSemana);
  else
    dbms_output.put_line('Error: numero ingresado fuera de rango.');
  end if;
EXCEPTION
  when VALUE_ERROR then
  dbms_output.put_line('Error: el numero ingresado tiene que ser un numero');
  when others then
    rollback;
    raise;
end;

--
set serveroutput on

declare
  numero integer;
  suma integer := 0;
  IngreseValorNumerico char(2);
begin
  numero := to_number('&IngreseValorNumerico');
  for i IN 1..numero
  loop
    suma := suma + i;
  end loop;
  dbms_output.put_line('Valor ingresado: '||numero||' la suma es:' || suma);
EXCEPTION
  when VALUE_ERROR then
  dbms_output.put_line('Error: el numero ingresado tiene que ser un numero');
  when others then
    rollback;
    raise;
end;

--

set serveroutput on

declare
  numero integer;
  suma integer := 0;
  i integer :=0;
  IngreseValorNumerico char(2);
begin
  numero := to_number('&IngreseValorNumerico');
  while i <= numero loop
    suma := suma + 1;
    i++;
    end loop;
  dbms_output.put_line('Valor ingresado: '||numero||' la suma es:' || suma);
EXCEPTION
  when VALUE_ERROR then
  dbms_output.put_line('Error: el numero ingresado tiene que ser un numero');
  when others then
    rollback;
    raise;

No hay comentarios:

Publicar un comentario