PROCEDIMIENTOS ALMACENADOS

Post on 14-Apr-2017

57 views 3 download

Transcript of PROCEDIMIENTOS ALMACENADOS

ESPECIALIDAD: Ing. Sistemas y telemáticaCICLO: VI CURSO: Base de Datos ITEMA: Procedimientos AlmacenadosPROFESOR: Marco Porro ChulliINTEGRANTES: Alcira Gonzales Muñoz

Lisbeth Alexandra Vasquez Cieza

Procedimientos almacenados

Un procedimiento almacenado de SQL Server es un grupo de una o varias instrucciones Transact-SQL. Los procedimientos se asemejan a las construcciones de otros lenguajes de programación, porque pueden: Aceptar parámetros de entrada y devolver varios valores en forma de parámetros de

salida al programa que realiza la llamada.

Contener instrucciones de programación que realicen operaciones en la base de datos. Entre otras, pueden contener llamadas a otros procedimientos.

Devolver un valor de estado a un programa que realiza una llamada para indicar si la operación se ha realizado correctamente o se han producido errores, y el motivo de

DEFINICIÓN

SINTAXIS

ADMINISTRACION DE LOS PROCEDIMIENTOS ALMACENADOS

CREACIÓN: Utilice la instrucción CREATE PROCEDURE para crearlos en la base de datos. Puede añadir hasta 32 niveles.

USE NorthwindGOCREATE PROC dbo.OverdueOrdersASSELECT * FROM dbo.Orders WHERE RequiredDate < GETDATE() AND ShippedDate IS NullGO

ADMINISTRACION DE LOS PROCEDIMIENTOS ALMACENADOS

MODIFICACIÓN: Utilice la instrucción ALTER PROCEDURE. No afecta a los procedimientos almacenados añadidos.

USE NorthwindGOALTER PROC dbo.OverdueOrdersASSELECT CONVERT(char(8), RequiredDate, 1) RequiredDate, CONVERT(char(8), OrderDate, 1) OrderDate, OrderID, CustomerID, EmployeeIDFROM OrdersWHERE RequiredDate < GETDATE() AND ShippedDate IS NullORDER BY RequiredDateGO

ADMINISTRACION DE LOS PROCEDIMIENTOS ALMACENADOS

ELIMINACIÓN: Ejecute el procedimiento almacenado sp_depends para determinar si los objetos dependen del procedimiento almacenado.

ADMINISTRACION DE LOS PROCEDIMIENTOS ALMACENADOS

ELIMINACIÓN: Ejecute el procedimiento almacenado sp_depends para determinar si los objetos dependen del procedimiento almacenado.

RESUMEN

Los procedimientos almacenados no son nuevos en la industria de las bases de datos, como referenciase tiene a ORACLE, que presentó PL/SQL 2. A la publicación de este documento es MYSQL el más reciente poseedor de procedimientos almacenados, esto invita a algunos expertos en la materia a mencionar que con esta incorporación este DBMS ha llegado a su mayoría de edad, aunque sin aventurarse a mencionar que pudiera ser una competencia seria para los grandes en esta rama como lo son ORACLE Y SQLSERVER. Los procedimientos almacenados son una herramienta que todo desarrollador debe tener en cuenta siempre, ya que proporcionan un rendimiento en términos de velocidad e incrementan la seguridad en su sistema de base de datos, es por ello que su empleo en los diferentes proyectos incrementa localidad del desarrollo de software.

RECOMENDACIONES

El usuario debe ser el propietario de todos los procedimientos almacenados.

Un procedimiento almacenado por tarea debe de crear, probar y solucionar problemas.

Evite sp_Prefix en los nombres de procedimientos almacenados.

Utilice la misma configuración de conexión para todos los procedimientos almacenados.

Reduzca al mínimo la utilización de procedimientos almacenados temporales.  No elimine nunca directamente las entradas de Syscomments.

CONCLUSIÓN La ejecución de un procedimiento almacenado con el prefijo "sp_"

hace que MS SQL Server siempre busque primeramente el procedimiento almacenado en el caché de procedimientos almacenados en la base de datos master, lo cual no se refleja con herramientas que permiten la ejecución de T-SQL. La utilización del prefijo "sp_" hace que MS SQL Server trabaje con los procedimientos almacenados de forma similar al modo que debe trabajar cuando no hay más memoria disponible en el servidor y no puede agregar nuevas entradas al caché, por lo cual debe recompilar continuamente todos los procedimientos almacenados que se ejecuten.

APRECIACIÓN DE EQUIPO Los SP en general, serán realmente útiles (y aplicables) en caso

de estar desarrollando aplicaciones robustas, de categoría empresarial, o para servicios que deben ser seguros, que posean alta disponibilidad y con vistas a ser escalables.

Lo más importante de todo, los procedimientos almacenados SIEMPRE serán más rápidos que una consulta externa. Si no lo son, es por dos motivos: No puedes escribir procedimientos almacenados, y El gestor de base de datos que estas usando es deficiente.