Diferencia entre vista y procedimiento almacenado

Tabla de contenido:

Diferencia entre vista y procedimiento almacenado
Diferencia entre vista y procedimiento almacenado

Video: Diferencia entre vista y procedimiento almacenado

Video: Diferencia entre vista y procedimiento almacenado
Video: ERM: 3.1. Concepto de deformacion 2024, Mes de julio
Anonim

Ver vs procedimiento almacenado

Las vistas y los procedimientos almacenados son dos tipos de objetos de base de datos. Las vistas son una especie de consultas almacenadas, que recopilan datos de una o más tablas. Esta es la sintaxis para crear una vista

crear o reemplazar vista viewname

como

select_statement;

Un procedimiento almacenado es un conjunto de comandos SQL compilados previamente, que se almacena en el servidor de la base de datos. Cada procedimiento almacenado tiene un nombre de llamada, que se usa para llamarlos dentro de otros paquetes, procedimientos y funciones. Esta es la sintaxis (en ORACLE) para crear un procedimiento almacenado, crear o reemplazar procedimiento nombreprocedimiento (parámetros)

es

comienzo

declaraciones;

excepción

manejo_de_excepciones

fin;

Ver

Una vista actúa como una mesa virtual. Oculta una declaración de selección dentro de su cuerpo. Esta declaración de selección puede ser muy compleja, ya que toma datos de varias tablas y vistas. Por lo tanto, en otras palabras, una vista es una declaración de selección con nombre, que se almacena en la base de datos. Se puede usar una vista para ocultar la lógica detrás de las relaciones de la tabla a los usuarios finales. Dado que una vista es el resultado de una consulta almacenada, no conserva ningún dato. Recopila datos de las tablas base y muestra. Las vistas también juegan un papel importante en la seguridad de los datos. Cuando el propietario de la tabla necesita mostrar solo un conjunto de datos a los usuarios finales, crear una vista es una buena solución. Las vistas se pueden dividir en dos categorías

  • Vistas actualizables (Vistas que se pueden usar para INSERTAR, ACTUALIZAR y ELIMINAR)
  • Vistas no actualizables (vistas que no se pueden usar para INSERTAR, ACTUALIZAR y ELIMINAR)

Las vistas actualizables no pueden incluir seguidores, Establecer operadores (INTERSECCIÓN, MENOS, UNIÓN, UNIÓN TODO)

DISTINTO

Funciones de agregado de grupo (AVG, COUNT, MAX, MIN, SUM, etc.)

Cláusula GROUP BY

Cláusula ORDER BY

Cláusula CONNECT BY

Cláusula COMENZAR CON

Expresión de colección en una lista de selección

Subconsulta en una lista de selección

Unirse a la consulta

Procedimiento almacenado

Los procedimientos almacenados se denominan bloques de programación. Deben tener un nombre para llamar. Los procedimientos almacenados 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). Las declaraciones de variables, las asignaciones de variables, las declaraciones de control, los bucles, las consultas SQL y otras llamadas a funciones/procedimientos/paquetes pueden estar dentro del cuerpo de los procedimientos.

¿Cuál es la diferencia entre Ver y Procedimiento almacenado?

Veamos las diferencias entre estos dos.

• Las vistas actúan como tablas virtuales. Se pueden usar directamente desde el cierre de las consultas SQL (seleccionar), pero los procedimientos no se pueden usar desde el cierre de las consultas.

• Las vistas solo tienen una declaración de selección como cuerpo, pero los procedimientos pueden tener declaraciones de variables, asignaciones de variables, declaraciones de control, bucles, consultas SQL y otras llamadas a funciones/procedimientos/paquetes como cuerpo.

• El procedimiento acepta parámetros para ejecutar, pero las vistas no quieren que se ejecuten parámetros.

• Los tipos de registro se pueden crear a partir de vistas utilizando % ROWTYPE, pero no se pueden crear tipos de registro mediante procedimientos.

• Las sugerencias de SQL se pueden usar dentro de la declaración de selección de vista, para optimizar el plan de ejecución, pero las sugerencias de SQL no se pueden usar en los procedimientos almacenados.

• Se pueden otorgar ELIMINAR, INSERTAR, ACTUALIZAR, SELECCIONAR, FLASHBACK y DEPURAR en las vistas, pero solo se pueden otorgar EJECUTAR y DEPURAR en los procedimientos.

Recomendado: