Diferencia entre la vista y el procedimiento almacenado

Ver / 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. Aquí está la sintaxis para crear una vista.

crear o reemplazar vista nombre de vista

como

select_statement;

Un procedimiento almacenado es un conjunto de comandos SQL precompilado, que se almacena en el servidor de la base de datos. Cada procedimiento almacenado tiene un nombre de llamada, que se utiliza para llamarlos dentro de otros paquetes, procedimientos y funciones. Esta es la sintaxis (en ORACLE) para crear un procedimiento almacenado,

crear o reemplazar procedimiento nombre de procedimiento (parámetros)

es

empezar

declaraciones;

excepción

manejo de excepciones

fin;

Ver

Una vista actúa como una mesa virtual. Oculta una declaración selecta 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 denominada, que se almacena en la base de datos. Se puede utilizar 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 guarda ningún dato. Recopila datos de las tablas base y muestra. Las vistas también desempeñan 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 (las vistas se pueden usar para INSERTAR, ACTUALIZAR y BORRAR)
  • Vistas no actualizables (las vistas no se pueden usar para INSERTAR, ACTUALIZAR y BORRAR)

Las vistas actualizables no pueden incluir lo siguiente,

Operadores de Set (INTERSECT, MINUS, UNION, UNION ALL)

DISTINTO

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

GRUPO POR CLÁUSULA

Cláusula ORDER BY

Cláusula CONECTAR POR

Comience con la cláusula

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

Sub consulta 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 al que llamar. Los procedimientos almacenados aceptan parámetros como entrada del usuario y 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 de SQL y otras llamadas de procedimiento / procedimiento / paquete pueden estar dentro del cuerpo de 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 utilizar directamente desde consultas de cierre de SQL (selección), pero no se pueden usar procedimientos desde consultas de cierre..

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

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

• Se pueden crear tipos de registros a partir de vistas usando% ROWTYPE, pero usando procedimientos, no se pueden crear tipos de registros.

• 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 procedimientos almacenados.

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