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.