Crear una Función (function) en PL/SQL Oracle



Una función es un bloque de código que se almacena en la base de datos, para poder ser llamado por cualquier otra función, procedimiento, paquete o hasta realizando una consulta select, las funciones retornan un valor.

Sentencia básica:


create or replace function nombre_funcion(variables [out in] tipo_dato) --Creación de la función
return tipo_dato is --Tipo de retorno
  --Declaración de variables
Begin

  --Cuerpo de la función
  return dato; --Valor de retorno

end nombre_funcion;--Fin de la función  

Las funciones son utilizadas para devolver valores sea de la base de datos o que realice un proceso como sumar dos números y que retorne el resultado, las funciones pueden utilizar otros objetos de base de datos almacenados como llamar un procedimiento o un paquete.

Ejemplo: Se necesita realizar una función que calcule si un número es primo.

create or replace function numero_primo(numero in number)
return varchar2 is
  resultado varchar2(30);
begin

  if mod(numero, 2) = 0 then
    resultado := 'El número es primo';
  else
    resultado := 'El número no es primo';
  end if;

  return resultado;

end numero_primo;

---------------------------------------------

select numero_primo(21)
from dual;


Output:

2 comentarios:

  1. es cosa mia o lo que estas calculando con esta funcion es un numero par y no un primo? puesto que un numero primo solo es divisible entre 1 y el mismo?

    ResponderEliminar