Diferencia Entre Vista Y Procedimiento Almacenado

Tabla de contenido:

Diferencia Entre Vista Y Procedimiento Almacenado
Diferencia Entre Vista Y Procedimiento Almacenado

Vídeo: Diferencia Entre Vista Y Procedimiento Almacenado

Vídeo: Diferencia Entre Vista Y Procedimiento Almacenado
Vídeo: Vistas vs. Procedimientos Almacenados (Cuidando la performance de las Bases de Datos) 2024, Mayo
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. Aquí está la sintaxis para crear una vista

crear o reemplazar vista viewname

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, que toma datos de varias tablas y vistas. Por lo tanto, en otras palabras, una vista es una instrucció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 de 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 utilizar para INSERTAR, ACTUALIZAR y ELIMINAR)
  • Vistas no actualizables (vistas que no se pueden utilizar para INSERTAR, ACTUALIZAR y ELIMINAR)

Las vistas actualizables no pueden incluir lo siguiente, Establecer operadores (INTERSECT, MINUS, UNION, UNION ALL)

DISTINTO

Funciones de agregación de grupo (AVG, COUNT, MAX, MIN, SUM, etc.)

Cláusula GROUP BY

Cláusula ORDER BY

CONECTAR POR Cláusula

INICIO CON 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 para 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 SQL y otras funciones / procedimientos / llamadas de 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 utilizar directamente desde el cierre de consultas SQL (seleccionar), pero los procedimientos no se pueden utilizar desde el cierre de consultas.

• Las vistas solo tienen una instrucción select como cuerpo, pero los procedimientos pueden tener declaraciones de variables, asignaciones de variables, declaraciones de control, bucles, consultas SQL y otras funciones / procedimientos / llamadas de paquetes como 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 SQL se pueden usar dentro de la instrucción de selección de vista para optimizar el plan de ejecución, pero las sugerencias SQL no se pueden usar en procedimientos almacenados.

• Se pueden otorgar DELETE, INSERT, UPDATE, SELECT, FLASHBACK y DEBUG en las vistas, pero solo EXECUTE y DEBUG se pueden otorgar en los procedimientos.

Recomendado: