EjemplosDuoc.es.tl
  Funciones Oracle
 
 

Creacion de una funcion que permitira buscar e ingresar un tipo de rotatividad, en el caso de que no existiera.

--creacion de una funcion para ingresar la rotatividad
create or replace function f_ingreso_rotatividad (tipo in varchar2)
return NUMBER as
    err_num NUMBER;
    err_msg VARCHAR2(255);
    valor number;--contendra el valor id
begin
    --se busca posible coincidencia  
    valor:=0;
    select count(*) into valor from rotatividad
    where rot_tipo_str = tipo;
    if (valor=0) then
        --se cuenta los item para sacar el id
            tipo:=upper(tipo);
            tipo:=trim(tipo);
            select count(*) into valor from rotatividad;
            insert into rotatividad values (valor, tipo);
            valor:=1; --transaccion realizada enviara un uno
      else
            valor:=0; --transaccion con ERROR enviara un cero
      end if;
      return valor;

exception
      --si ocurre algun error emviara cero
      when OTHERS then
            err_num := SQLCODE;
            err_msg := SQLERRM;
            DBMS_OUTPUT.put_line('Error:'||TO_CHAR(err_num));
            DBMS_OUTPUT.put_line(err_msg);
      return 0;
end f_ingreso_rotatividad;

creacion de una funcion para el ingreso de producto

create or replace function f_ingreso_producto
    (codigo in number,      descripcion in varchar2,  marca in varchar2,
    ultimo_stock in number, precio_publico in number, rotacion in number,
    ubicacion in varchar2,  stock in number,          categoria in number,
    tipo in number)
return number as
      err_num number;
      err_msg VARCHAR2(255); 
begin
    codigo    :=upper(codigo);

    insert into producto values (codigo,          descripcion,    marca,
                        ultimo_stock,    precio_publico, rotacion,
                                     ubicacion,       stock,          categoria,
                                     tipo,            'V');
      return 1;

exception
      --si ocurre algun error emviara cero
      when OTHERS then
            err_num := SQLCODE;
            err_msg := SQLERRM;
            DBMS_OUTPUT.put_line('Error:'||TO_CHAR(err_num));
            DBMS_OUTPUT.put_line(err_msg);
      return 0;
end f_ingreso_producto;


 
 
   
 
Este sitio web fue creado de forma gratuita con PaginaWebGratis.es. ¿Quieres también tu sitio web propio?
Registrarse gratis