Diferencia entre procedimiento almacenado y función

Tabla de contenido:

Diferencia entre procedimiento almacenado y función
Diferencia entre procedimiento almacenado y función

Video: Diferencia entre procedimiento almacenado y función

Video: Diferencia entre procedimiento almacenado y función
Video: Diferencia entre Peso, Fuerza Gravitacional y Fuerza centrípeta 2024, Mes de julio
Anonim

Procedimiento almacenado frente a función

Los procedimientos y funciones almacenados son dos tipos de bloques de programación. Ambos deben tener nombres de llamada. Esos nombres de llamada se utilizan para llamarlos dentro de otro bloque de programación, como funciones y paquetes de procedimientos o consultas SQL. Ambos tipos de objetos aceptan parámetros y realizan la tarea detrás de esos objetos. Esta es la sintaxis (en ORACLE) para crear un procedimiento almacenado, crear o reemplazar procedimiento nombreprocedimiento (parámetros)

como

comienzo

declaraciones;

excepción

manejo_de_excepciones

fin;

Y aquí está la sintaxis para crear una función (en ORACLE), crear o reemplazar función nombre_función (parámetros)

return return_datatype

como

comienzo

declaraciones;

return valor_retorno/variable;

excepción;

manejo_de_excepciones;

fin;

Procedimientos almacenados

Como se mencionó anteriormente, los procedimientos almacenados se denominan bloques de programación. Aceptan parámetros como entrada del usuario y los procesan de acuerdo con la lógica detrás del procedimiento y dan el resultado (o realizan una acción específica). Estos parámetros pueden ser del tipo IN, OUT e INOUT. Las declaraciones de variables, las asignaciones de variables, las instrucciones de control, los bucles, las consultas SQL y otras llamadas a funciones/procedimientos/paquetes pueden estar dentro del cuerpo de los procedimientos.

Funciones

Las funciones también son bloques de programación con nombre, que deben devolver un valor usando la declaración RETURN, y antes de devolver un valor, su cuerpo también realiza algunas acciones (de acuerdo con la lógica dada). Las funciones también aceptan parámetros para ejecutarse. Las funciones se pueden llamar dentro de las consultas. Cuando se llama a una función dentro de una consulta SELECT, se aplica a cada fila del conjunto de resultados de la consulta SELECT. Hay varias categorías de funciones de ORACLE. Ellos son,

Funciones de fila única (devuelve un único resultado para todas y cada una de las filas de la consulta)

Hay subcategorías de funciones de una sola fila.

  • Función numérica (Ej: ABS, SIN, COS)
  • Función de caracteres (Ej: CONCAT, INITCAP)
  • Función de fecha y hora (Ej: LAST_DAY, NEXT_DAY)
  • Funciones de conversión (Ej: TO_CHAR, TO_DATE)
  • Función de colección (Ej: CARDINALIDAD, CONJUNTO)
  • Funciones agregadas (Devuelve una sola fila, basada en un grupo de filas. Ej.: AVG, SUM, MAX)
  • Funciones analíticas
  • Funciones de referencia de objetos
  • Funciones del modelo
  • Funciones definidas por el usuario

¿Cuál es la diferencia entre función y procedimiento almacenado?

• Todas las funciones deben devolver un valor utilizando la instrucción RETURN. Los procedimientos almacenados no devuelven valores mediante la instrucción RETURN. La instrucción RETURN dentro de un procedimiento devolverá su control al programa de llamada. Los parámetros OUT se pueden usar para devolver valores de procedimientos almacenados.

• Las funciones se pueden llamar dentro de las consultas, pero los procedimientos almacenados no se pueden usar dentro de las consultas.

• El tipo de datos RETURN se debe incluir para crear una función, pero en el procedimiento almacenado DDL, no se incluye.

Recomendado: