Sub programa el cual es almacenado físicamente en una base de datos.
Uso: Encapsular un proceso grande y complejo.
Ventaja:
Al ser ejecutado, en respuesta a una petición de usuario, es ejecutado directamente en el motor de bases de datos, el cual usualmente corre en un servidor separado.
Posee acceso directo a los datos que necesita manipular y sólo necesita enviar sus resultados de regreso al usuario, deshaciéndose de la sobrecarga resultante de comunicar grandes cantidades de datos salientes y entrantes.
Cuando una base de datos es manipulada desde muchos programas externos. Al incluir la lógica de la aplicación en la base de datos, se evita embeber la misma lógica en todos los programas que acceden a los datos es reducida.
Tipos de procedimientos almacenados
Procedimientos almacenados definidos por el usuario
Diseñados por el programador.
Procedimientos almacenados extendidos
Le permiten crear sus propias rutinas externas en un lenguaje de programación como pueda ser C.
Son DLL que una instancia de MicrosoftSQL Server puede cargar y ejecutar dinámicamente.
Esta característica se quitará en una versión futura de Microsoft SQL Server.
Un procedimiento es un programa dentro de la base de datos que ejecuta una acción o conjunto de acciones especificas.
Un procedimiento tiene un nombre, un conjunto de parámetros (opcional) y un bloque de código.
Pueden devolver valores (numerico entero) o conjuntos de resultados.
Para crear un procedimiento almacenado debemos emplear la sentencia CREATE PROCEDURE.
CREATE PROCEDURE
Sentencias del procedure
Si queremos que los parámetros de un procedimiento almacenado sean de entrada-salida debemos especificarlo a través de la palabra clave OUTPUT , tanto en la definición del procedure como en la ejecución.
Procedimientos almacenados del sistema
• Se almacenan físicamente en la base de datos Resource e incluyen el prefijo sp_. Los procedimientos almacenados del sistema aparecen de forma lógica en el esquema sys de cada base de datos definida por el usuario y el sistema.
En SQL Server 2008, los permisos GRANT, DENY y REVOKE se pueden aplicar a los procedimientos almacenados del sistema.
SQL Server admite los procedimientos almacenados del sistema que proporcionan una interfaz desde SQL Server a los programas externos para varias actividades de mantenimiento. Estos procedimientos almacenados extendidos utilizan el prefijo xp_.
Ejemplos:
sp_helpdb Presenta información acerca de una base de datos especificada o de todas las bases de datos.
sp_spaceused Muestra el número de filas, el espacio de disco reservado y el espacio de disco utilizado por una tabla, vista o la base de datos completa. Etc.
Triggers (desencadenadores)Es una clase especial de procedimiento almacenado que se ejecuta automáticamente cuando se produce un evento en el servidor de bases de datos.
Tipos de triggers en Sql Server:
1) Trigger DML
Se ejecutan cuando un usuario intenta modificar datos mediante un evento de lenguaje de manipulación de datos.
Los eventos DML son instrucciones INSERT, UPDATE o DELETE de una tabla o vista.
2) Trigger DDL
Se ejecutan en respuesta a una variedad de eventos de lenguaje de definición de datos (DDL).
Estos eventos corresponden principalmente a instrucciones CREATE, ALTER y DROP.
No hay comentarios:
Publicar un comentario