0% encontró este documento útil (0 votos)
13 vistas18 páginas

Procedimientos Almacenados en SQL-Server 2020 P1

Los procedimientos almacenados en SQL Server son conjuntos de comandos que se ejecutan directamente en el servidor de base de datos, mejorando el rendimiento y permitiendo la reutilización de acciones. Existen varios tipos, incluyendo procedimientos definidos por el usuario, temporales y del sistema, cada uno con características específicas. La sintaxis para crear, modificar y eliminar procedimientos almacenados es sencilla, permitiendo a los usuarios realizar operaciones complejas de manera eficiente.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
13 vistas18 páginas

Procedimientos Almacenados en SQL-Server 2020 P1

Los procedimientos almacenados en SQL Server son conjuntos de comandos que se ejecutan directamente en el servidor de base de datos, mejorando el rendimiento y permitiendo la reutilización de acciones. Existen varios tipos, incluyendo procedimientos definidos por el usuario, temporales y del sistema, cada uno con características específicas. La sintaxis para crear, modificar y eliminar procedimientos almacenados es sencilla, permitiendo a los usuarios realizar operaciones complejas de manera eficiente.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 18

Procedimientos almacenados en SQL-

Server
Lic. David I. López Pérez

1
Procedimiento Almacenados
Conjunto de comandos que pueden ser ejecutados directamente en
el servidor, es decir, será ejecutado por el servidor de Base de Datos y
no por el programa cliente que lo accede, permitiendo la ejecución de
una acción o conjunto de acciones especificas.

2
Características

Se almacenan en la propia Base de Datos y constituyen un objeto más dentro de


esta.

Tienden a mejorar el rendimiento de los sistemas producto a que reducen en


intercambio entre cliente y servidor.

Los procedimientos almacenados son reutilizables, de manera que los usuarios


mediante la aplicación cliente no necesitan relanzar los comandos individuales, sino
que pueden llamar el procedimiento para ejecutarlo en el servidor tantas veces como
sea necesario.
3
Utilidades

Los procedimientos almacenados son


muy útiles sobre todo en arquitecturas
cliente/servidor donde hay un servidor
muy potente el cual se puede
aprovechar para ejecutar procesos,
consultas y actualizaciones complejas
en la base de datos.

4
Elementos de los procedimientos
almacenados
Parámetros de entrada (pueden esperar parámetros)

Parámetros de salida (pueden devolver resultados)

Declaración de variables (puede usarse variables en su cuerpo)

Cuerpo del procedimiento (en su cuerpo se indican las acciones a realizar)

Tanto los parámetros de entrada como los de salida son opcionales.


Podemos tener un procedimiento que no tenga parámetros de entrada,
pero sí de salida y viceversa.

5
Tipos de procedimientos almacenados

Procedimientos almacenados definidos por el usuario

Procedimientos almacenados temporales

Procedimientos almacenados del sistema de SQL

Procedimientos almacenados extendidos definidos por el usuario

6
Procedimientos almacenados por el usuario

Los procedimientos almacenados definidos por el usuario se


establecen en las bases de datos definidas por el usuario o en las
bases de datos del sistema (Master, Model, MSDB…), a excepción
de en la base de datos Resource.

Los procedimientos almacenados definidos por el usuario se crean


en Transact-SQL o como una referencia a un método CLR de .NET.

7
Procedimientos almacenados Temporales

Los procedimientos almacenados temporales son un tipo de procedimientos


definidos por el usuario, pero que se almacenan en la base de datos TempDB.

Hay dos tipos de procedimientos almacenados temporales:


Globales, su primer caracter es
Locales, su primer caracter es “#”.
“##”.

Ambos tipos se diferencian entre sí por tres aspectos:


Los nombres La visibilidad La disponibilidad

8
Procedimientos almacenados del sistema
SQL

Los procedimientos almacenados del sistema de SQL


pertenecen a SQL Server y sus primeros caracteres son
“sp_”.

Estos procedimientos se encuentran almacenados de


manera física en la base de datos interna y de manera
oculta en Resource, y se muestran de forma lógica en el
sys.schemas (esquema sys). Por otro lado, la base de
datos MSDB también tiene procedimientos almacenados,
pero en el esquema dbo.

9
Procedimientos almacenados extendidos
definidos por el usuario

Los procedimientos almacenados extendidos


definidos por el usuario son DLL que una
instancia de SQL Server es capaz ejecutar de
forma dinámica. Se consideran “extendidos”
debido a que el usuario puede crear rutinas
externas por su propia cuenta en un lenguaje de
programación.

10
Sintaxis del procedimiento almacenado
Crear Procedimiento almacenado
CREATE PROCEDURE <nombre_procedure> [@param1
<tipo>, ...]
AS
-- Sentencias del procedure
Modificar Procedimiento almacenado
ALTER PROCEDURE <nombre_procedure> [@param1
<tipo>, ...]
AS
-- Sentencias del procedure
Borra Procedimiento almacenado
DROP PROCEDURE <nombre_procedure>
11
Ejemplo de procedimiento almacenado

Procedimiento almacenado para insertar un registro a la tabla


CREATE PROCEDURE spAddCliente
clientes
@nombre varchar(100),
@apellidos varchar(100),
@f_Nac datetime,
@email varchar(50)
AS
INSERT INTO CLIENTES (nombre, apellidos, f_nacimiento,
email)
VALUES (@nombre, @apellidos, @f_nac, @email)

12
Ejemplo con una tabla en la BD
• CREATE TABLE CLIENTE(
• ID VARCHAR (50) not null,
Realic • NOMBRE VARCHAR(100),
e la • APELLIDO VARCHAR(100),
• TELEFONO INT,
siguie
• CELULAR INT
nte • CONSTRAINT PK_ID PRIMARY KEY (ID))
tabla
en
SQL

13
Procedimiento Almacenado Insertar Datos
CREATE PROC spINSERTAR_CLI
@ID VARCHAR(50),
@NOMBRE VARCHAR(100),
@APELLIDO VARCHAR(100),
@TELEFONO INT,
@CELULAR INT
AS
IF NOT EXISTS (SELECT * FROM DBO.CLIENTE WHERE Id =
@Id)
BEGIN
INSERT INTO
CLIENTE(ID,NOMBRE,APELLIDO,TELEFONO,CELULAR)
VALUES
(@ID,@NOMBRE,@APELLIDO,@TELEFONO,@CELULAR)
END

14
Procedimiento Almacenado Actualizar
Datos
CREATE PROC spACTUALIZAR_CLI
@ID VARCHAR(50),
@NOMBRE VARCHAR(100),
@APELLIDO VARCHAR(100),
@TELEFONO INT,
@CELULAR INT
AS
BEGIN
UPDATE CLIENTE SET
NOMBRE = @NOMBRE,
APELLIDO = @APELLIDO,
TELEFONO = @TELEFONO,
CELULAR=@CELULAR
WHERE Id = @Id
END 15
Procedimiento Almacenado Eliminar Datos
CREATE PROCEDURE spELIMINAR_CLI

@Id VARCHAR

AS

IF EXISTS (SELECT * FROM CLIENTE WHERE Id = @Id)

BEGIN

DELETE FROM CLIENTE WHERE Id = @Id

END

16
Ejecución de los procedimientos
almacenados
utilizar instrucción exec
EXEC spINSERTAR_CLI

@Id = 1,
VISUALIZAR LOS DATOS INGRESADOS
@NOMBRE = 'WILLIAM', CON
SELECT * FROM CLIENTE
O PUEDES CREAR TAMBIEN UN
@APELLIDO = 'PEREZ', PROCEDIMIENTO
ALMACENADO SIMILAR AL SIGUIENTE

@TELEFONO = 22347100,

@CELULAR=83347100
17
Visualización del procedimiento
almacenado

18

También podría gustarte