Está en la página 1de 2

Ventajas y desventajas de Stored Procedure

VENTAJAS
 Menor trafico de red.

 Centralización de la lógica de negocio. Se previene errores, aporta


valor si existen varias aplicaciones escritas en diferentes lenguajes
que necesitan acceder a la base de datos.

 Aportan bastante a la seguridad a la BD, porque ciertos usuarios


tendrán permisos

 Ideal para un modelo en capas. Aunque esto es mas un escenario


que una ventaja, si estas usando un modelo en capas, usar store
procedures, te ayuda a marcar la división de las capas.

 Qué sistemas transaccionales (de los buenos Big Smile) (de SQL), ¿se
hacen sin usar Store Procedures?, creo que no he visto ninguno,
aprender hacerlos desde que hacemos nuestro primer ejemplo o
sistema, nos hará más fácil la adaptación. La ventaja de este item
sería: el uso desde simple ejemplos te hace más la adaptación para
tu futuro profesional.

DESVENTAJAS

 Mayor consumo de recurso


 Mayor dificulta de encontrar errores.
 Vendor lock-in, si toca migrar la base de datos es difícil.
 Seguirle el rastro a la base de Datos

 En proyectos dónde podemos hacer instalaciones contra diferentes


servidores de bases de datos (MySQL, Oracle, SQL Server...)
debemos mantener versiones diferentes de los SP para cada tipo de
servidor ya que las sintaxis empleadas en el SQL que implementan
cada uno de ellos difiere aunque sea en pequeños detalles
Ejemplo:

Procedimiento Almacenado para Consultar Registros


Bien, entonces vamos a ver otro ejemplo un poco mas complejo,
ahora lo que haremos sera, crear un procedimiento almacenado
que me consulte una columna en una tabla de la Base de Datos
(nombre de una persona), ya he creado una tabla en Sql Server a la
cual le llame personas, acá puedes ver el diseño:

El código para
crear el procedimiento almacenado propuesto será el siguiente:

create procedure Proc_Nombre


@Nombre varchar(30)
as
Begin
select Nombre, Apellido
from Personas
where Nombre= @Nombre;
END
GO

Es un ejemplo fácil de entender, lo que realizara es una consulta del


nombre y apellido de una persona, mientras el nombre sea igual a que
le especificamos en el parámetro de entrada, es decir que sería
obligatorio enviarle el parámetro, para que pueda devolvernos
resultados, hay que entender que es una búsqueda de personas, sin
embargo, a diferencia de una simple consulta, el procedimiento
almacenado lo podemos ejecutar en cualquier momento debido a que
queda guardado en el servidor.

También podría gustarte