You are on page 1of 3

Procedimientos Almacenados Un procedimiento almacenado (store procedure) no es ms que una secuencia ordenada de instrucciones Transact-SQL, que pueden recibir

y proporcionar parmetros provistos por el usuario y se pueden guardar en el servidor con un nombre, para posteriormente ser invocados y ejecutados, por lo regular desde una aplicacin (Escritorio o Web).

Ventajas de usar SP Compilacin: La primera vez que se invoca un SP, el motor lo compila y a partir de ah, se sigue usando la versin compilada del mismo, hasta que se modifique o se reinicie el servicio de SQL. Esto significa que se tendr un mejor rendimiento que las consultas directas que usan las instrucciones T-SQL, que se compilan cada vez que se invocan. Automatizacin: si tenemos un conjunto de instrucciones T-SQL, las cuales queremos ejecutar de manera ordenada, un SP es la mejor manera de hacerlo. Administracin: cuando realizamos aplicaciones con un gran numero de lneas de cdigo, y queremos hacer cambios, solo implica modificar un SP y no toda la aplicacin, lo que significa solo cambiamos los SP en el servidor y no tenemos que actualizar la aplicacin en todos los equipos cliente. Seguridad: una parte importante es que a los usuarios de nuestra aplicacin, solo les proporcionamos los permisos para ejecutar los procedimientos almacenados y no el acceso a todos los objetos de la base. Programabilidad: Los SP admiten el uso de variables y estructuras de control como IF, Bucles, Case, etc. adems del manejo de transaccin incluidas las llamadas a otros procedimientos. y permite controlar excepciones. Aceptar parmetros de entrada y devolver varios valores en forma de parmetros de salida al lote o al procedimiento que realiza la llamada. Trafico de Red: Pueden reducir el trafico de la red, debido a que se trabaja sobre el motor (en el servidor), y si una operacin incluye hacer un trabajo de lectura primero y en base a eso realizar algunas operaciones, esos datos que se obtienen no viajan por la red.
Crear Procedimientos Almacenados

CREATE PROC[EDURE] <Nombre Procedimiento> AS Sentencias SQL [...n]

CONSIDERACIONES: El tamao mximo de un procedimiento es de 128 Mb. Un procedimiento slo puede crearse en la base de datos actual. Se puede crear otros objetos de base de datos dentro de un procedimiento almacenado. Puede hacer referencia a un objeto creado en el mismo procedimiento almacenado, siempre que se cree antes de que se haga referencia al objeto. Puede hacer referencia a tablas temporales dentro de un procedimiento almacenado.

Ejemplo: Elaborar un procedimiento almacenado con la finalidad de poder consultar la tabla PRODUCTS. CREATE PROCEDURE proc_prueba AS SELECT * FROM PRODUCTS EXEC proc_prueba

Otro ejemplo en el que realizaremos un procedimiento almacenado que obtenga el nombre y la cantidad de productos que nos ha comprado cualquier cliente. CREATE PROCEDURE prodxcte @customerid nchar(5) As Select productname, SUM(quantity) as Total From products p JOIN "order details" od ON p.productid =od.productid JOIN orders o ON od.orderid=o.orderid JOIN customers c ON o.customerid=c.customerid WHERE c.customerid = @customerid GROUP BY productname MODIFICAR PROCEDIMIENTOS ALMACENADOS
ALTER PROC[EDURE] <Nombre Procedimiento> AS Sentencias SQL [...n]

This document was created with Win2PDF available at http://www.win2pdf.com. The unregistered version of Win2PDF is for evaluation or non-commercial use only.

You might also like