Você está na página 1de 9

Procedimientos

Almacenados
Segundo Roger Ramirez Shupingahua

ALMACENADOS
LosPROCEDIMIENTOS
procedimientos almacenados
son una de las
herramientas ms potentes y verstiles de los
manejadores
de
SQL
y
utilizndolos
adecuadamente,
una
buena
manera
de
aprovechar al mximo las posibilidades de ste
SGBD y obtener un rendimiento ptimo en
nuestras aplicaciones
Un procedimiento almacenado es un
pequeo programa almacenado en la
base de datos que puede ser ejecutado
en cualquier momento.

PROCEDIMIENTOS ALMACENADOS
Un procedimiento tiene un nombre, un conjunto de
parmetros y un bloque de cdigo.
En Transact SQL los procedimientos almacenados
pueden devolver valores o conjuntos de resultados.

Paracrear un procedimiento almacenado


debemos emplear la sentenciaCREATE
PROCEDURE.
CREATE
PROCEDURE
<nombre_procedure>
[@param1
<tipo>, ...]
AS -- Sentencias del procedure

Para qu utilizar procedimientos


almacenados?
Los
procedimientos
almacenados
ESTN
compilados. Traduccin bsica: El conjunto de
instrucciones que utiliza el equipo para llevar a
cabo la operacin solicitada se divide hasta el
menor nivel posible disponible en la plataforma
en la que est trabajando. (Punto crucial: la
velocidad.) La alternativa sera crear consultas y
tareas de mantenimiento de bases de datos que
se ejecutaran cada vez que se enviara la
peticin, lo que exigira de su SQL Server mucho
ms trabajo del necesario.

PROCEDIMIENTOS ALMACENADOS

Para modificar un procedimiento


almacenado debemos emplear la
sentencia
ALTER PROCEDURE.
ALTER PROCEDURE
<nombre_procedure> [@param1
<tipo>, ...]AS
-- Sentencias del procedure

VENTAJAS

Rendimiento: al ser ejecutados por el motor de


base de datos ofrecen un rendimiento inmejorable ya
que no es necesario transportar datos a ninguna
parte. Cualquier proceso externo tiene una penalidad
de tiempo adicional dada por el transporte de datos.
Los procedimientos almacenados son analizados y
optimizados en el momento de su creacin, a
diferencia de las instrucciones Transact-SQL, que
deben ser analizadas, compiladas y optimizadas cada
vez
que
son
enviadas
por
el
cliente.
Potencia:
el
lenguaje
para
procedimientos
almacenados es muy potente. Permiten ejecutar
operaciones complejas en pocos pasos ya que
poseen un conjunto de instrucciones avanzadas.

VENTAJAS
Centralizacin: Al formar parte de la base de datos
los procedimientos almacenados estn en un lugar
centralizado y pueden ser ejecutados por cualquier
aplicacin que tenga acceso a la misma.
Reduccin del trfico de red: Una sentencia
formada por decenas, cientos o incluso miles de
lneas de cdigo Transact-SQL puede escribirse como
un procedimiento almacenado en el servidor y
ejecutarse simplemente mediante el nombre de
dicho procedimiento, en lugar de enviar todas las
lneas de cdigo por la red desde el cliente hasta el
servidor(sta reduccin del trfico de red ser
especialmente significativa en redes no muy veloces,
como por ejemplo, algunas redes WAN).

Seguridad:
Los VENTAJAS
procedimientos
almacenados
facilitan algunas tareas de administracin de
seguridad y asignacin de permisos. Por ejemplo, se
puede conceder permiso a un usuario para ejecutar
un determinado procedimiento almacenado, aunque
el usuario no disponga de los permisos necesarios
sobre los objetos afectados por las acciones
individuales
de
dicho
procedimiento.
Encapsulacin: Los procedimientos almacenados
encapsulan gran parte de la lgica de los datos a las
aplicaciones que los utilizan. Por ejemplo, una
aplicacin
puede
llamar
al
procedimiento
almacenado spEliminarProveedor sin conocer cmo
funciona internamente ste proceso (transacciones e
instrucciones
Transact-SQL
utilizadas,
tablas

DESVENTAJAS
Esclavitud: Los procedimientos almacenados nos
esclavizan al motor de base de datos. Una base de
datos con muchos procedimientos almacenados es
prcticamente imposible de migrar a otro motor.
Otros:
Reemplazando o ampliando la funcionalidad de
extensos y complejos procedimientos almacenados,
especialmente los que realizan clculos matemticos
complejos o frmulas de negocio complejas.
Procedimientos que necesitan acceder a algunas
estructuras de datos externas que no tienen una
interface tradicional de acceso a datos.
Realizar algoritmos complejos. Realizar complejos
clculos de ingeniera.

Você também pode gostar