Procedimientos-Almacenados-en-SQL-Server.pdf

respaldomml96 9 views 9 slides Sep 15, 2025
Slide 1
Slide 1 of 9
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9

About This Presentation

Se da a conocer el uso de los procedimientos almacenados en SQL SERVER


Slide Content

BASE DE DATOS 2
PROCEDIMIENTOS
ALMACENADOS
ING. Marcos Mamani Laqui

Procedimientos Almacenados en
SQL Server:
Suimportanciay funcionamientooptimizan
la gestión de sus bases de datos.
Los procedimientos almacenados son
componentes fundamentales que han
evolucionado significativamente a lo largo
de las versiones de SQL Server, ofreciendo
capacidades cada vez más robustas para el
desarrollo y la administración de bases de
datos.

¿Qué es un Procedimiento
Almacenado?
Definición Formal
UnprocedimientoalmacenadoesunconjuntodesentenciasSQL
(DML,DDLyDCL)quesecompilanunasolavezysealmacenan
enelservidordelabasededatos.Funcionancomosubrutinaso
funcionesdentrodelabasededatos.
Ejecución Unificada
Seejecutancomounasolaunidadlógica,loquepermite
encapsularlógicadenegociocomplejaygarantizarlaatomicidad
delasoperaciones,facilitandolagestióndetransacciones.
Reutilización
Alestaralmacenadosenlabasededatos,puedenserinvocados
múltiplesvecespordiferentesaplicacionesousuarios,loque
fomentalareutilizacióndelcódigoyreducelaredundancia.

Ventajas
•Rendimiento:Gracias a la precompilación, los
planes de ejecución se guardan en caché, lo que
acelera futuras ejecuciones al evitar el proceso de
análisis y compilación repetitivo.
•Seguridad:Permiten controlar el acceso a los datos
de manera granular, ejecutando operaciones
complejas sin dar acceso directo a las tablas
subyacentes y mitigando riesgos como la inyección
SQL.
•Modularidad:Promueven la reutilización de
código, lo que simplifica el mantenimiento y facilita
la actualización de la lógica de negocio en un único
lugar, sin afectar las aplicaciones clientes.
•Reducción del Tráfico de Red:En lugar de enviar
múltiples sentencias SQL por separado, se envía
una sola llamada al procedimiento, disminuyendo
la carga de red entre la aplicación y el servidor.

Sintaxis Básica: Creación de un
Procedimiento Almacenado
CREATE PROCEDURE ObtenerCliente
@ClienteID INT
AS
BEGIN
SELECT Nombre, Direccion, Telefono
FROM Clientes
WHERE ClienteID = @ClienteID;
END;
Cadaparámetrodebetenerunnombrequecomienzacon'@'ysutipodedato.Elcuerpodelprocedimientose
definedentrodeunbloqueBEGIN...END,dondeseescribenlassentenciasSQLquerealizaránlasoperaciones
deseadas.Esteejemplomuestracómocrearunprocedimientoparaobtenerinformacióndeunclientebasándose
ensuID.
Lacreacióndeunprocedimiento
almacenadoenSQLServercomienzaconla
sentenciaCREATE PROCEDURE.Se
especificaunnombreúnicoparael
procedimiento,seguidodeunalistade
parámetrossisonnecesarios.

Tipos de Parámetros
Parámetros de Entrada (INPUT) Parámetros de Salida (OUTPUT)
Los parámetros de entrada son utilizados para pasar
valores al procedimiento. Son los más comunes y actúan
como variables que el procedimiento consume para
realizar sus operaciones.
Los parámetros de salida se utilizan para devolver valores
desde el procedimiento a la aplicación o script que lo
invocó. Son útiles para retornar múltiples valores o
resultados específicos de una operación.
Se definen directamente con su tipo de dato, por ejemplo:
@ID INT.
Se definen agregando la palabra clave OUTPUTdespués
del tipo de dato, por ejemplo: @Nombre VARCHAR(50)
OUTPUT.
Opcionalmente, pueden tener valores por defecto,
haciéndolos opcionales en la llamada al procedimiento.
Los valores por defecto no son aplicables a los parámetros
de salida, ya que su propósito es devolver un valor
resultante de la ejecución.

Ejecución de un Procedimiento
Almacenado
Paraejecutarunprocedimientoalmacenado
enSQLServer,seutilizalasentenciaEXECUTE
osuabreviaturaEXEC.Alllamaral
procedimiento,sedebenpasarlosvalores
correspondientesalosparámetrosdeentrada.
Sielprocedimientotieneparámetrosde
salida,debensercapturadosporvariablesen
elscriptqueloinvoca,ylapalabraclave
OUTPUTdebeserespecificadaalpasarlosen
lallamada.
DECLARE @NombreCliente VARCHAR(100);
EXEC ObtenerCliente @ClienteID = 123, @Nombre =
@NombreCliente OUTPUT;
SELECT 'El nombre del cliente es: ' + @NombreCliente AS
Resultado;

Control de Flujo Dentro de un Procedimiento
Sentencias Condicionales
Use IF...ELSEpara ejecutar bloques
de código basados en condiciones
específicas, permitiendo lógica de
negocio ramificada.
Bucles
Utilice WHILEpara ejecutar
sentencias repetidamente hasta que
una condición sea falsa, ideal para
iteraciones sobre conjuntos de datos o
lógica recursiva.
Manejo de Errores
Implemente TRY...CATCHpara
gestionar errores de forma elegante,
capturando excepciones y
permitiendo acciones de
recuperación o notificación.
Transacciones
Encapsule operaciones con BEGIN
TRANSACTION, COMMIT y
ROLLBACKpara asegurar la
integridad de los datos, garantizando
que todas las operaciones se
completen o ninguna se aplique.

CONSIDERAR
1
Herramienta Esencial
Los procedimientos almacenados
son fundamentales en SQL Server
para la gestión eficiente y segura de
bases de datos.
2
Beneficios Clave
Ofrecen mejoras significativas en
rendimiento, seguridad y
facilidad de mantenimiento del
código.
3
Próximos Pasos
Se recomienda explorar temas
avanzados como la depuración,
optimización de consultas
internas y el uso de transacciones
complejas.
Hemos cubierto los fundamentos y las ventajas de los procedimientos almacenados, desde su definición hasta ejemplos prácticosde
creación y ejecución. Comprender y aplicar correctamente estas herramientas es crucial para cualquier desarrollador o
administrador de bases de datos. Su uso no solo profesionaliza el código, sino que también protege y optimiza el acceso a la
información crítica de su organización.