SlideShare una empresa de Scribd logo
SQL Server & MySQL
Database
Ponente: Ricardo Rabanal
Huánuco
Tema: Presentación
Inicio: 26 de Enero del
2024
Sesión: Sesión 7
Databas
e
@data_science.analysis Data Science
926 837 332
@data_science.analysis Data Science @datascienceanalysis
Data Science Analysis
959 495 927
Procesos
almacenados
Store Procedures
@data_science.analysis Data Science
926 837 332
@data_science.analysis Data Science @datascienceanalysis
Data Science Analysis
959 495 927
Los procedimientos almacenados en SQL Server son objetos de base de datos que
encapsulan una o más instrucciones SQL para realizar una tarea específica. Son útiles
porque permiten reutilizar código SQL, pueden mejorar el rendimiento al reducir el
tráfico de red y permiten un mayor control de seguridad en las operaciones de la base
de datos.
Crear Procedimientos Almacenados
Para crear un procedimiento almacenado, se usa la instrucción CREATE
PROCEDURE, seguida del nombre del procedimiento y luego los parámetros (si los
hay), y finalmente el cuerpo del procedimiento que contiene las instrucciones SQL.
CREATE PROCEDURE spAddCliente
@Nombre NVARCHAR(100),
@Apellido NVARCHAR(100),
@Email NVARCHAR(255)
AS
BEGIN
INSERT INTO Clientes (Nombre, Apellido, Email)
VALUES (@Nombre, @Apellido, @Email);
END;
GO
Store Procedures
@data_science.analysis Data Science
926 837 332
@data_science.analysis Data Science @datascienceanalysis
Data Science Analysis
959 495 927
Alterar Procedimientos Almacenados
Si necesitas cambiar un procedimiento almacenado después de haberlo creado,
puedes utilizar la instrucción ALTER PROCEDURE.
ALTER PROCEDURE spAddCliente
@Nombre NVARCHAR(100),
@Apellido NVARCHAR(100),
@Email NVARCHAR(255),
@FechaRegistro DATE = NULL -- Nuevo parámetro opcional
AS
BEGIN
INSERT INTO Clientes (Nombre, Apellido, Email, FechaRegistro)
VALUES (@Nombre, @Apellido, @Email, COALESCE(@FechaRegistro, GETDATE()));
END;
GO
Ejecutar Procedimientos Almacenados
Para ejecutar un procedimiento almacenado, utilizas la instrucción EXECUTE (o
EXEC).
EXEC spAddCliente
@Nombre = 'Juan',
@Apellido = 'Pérez',
@Email = 'juan.perez@example.com',
@FechaRegistro = '2021-01-01';
Store Procedures
@data_science.analysis Data Science
926 837 332
@data_science.analysis Data Science @datascienceanalysis
Data Science Analysis
959 495 927
Alterar Procedimientos Almacenados
Si necesitas cambiar un procedimiento almacenado después de haberlo
creado, puedes utilizar la instrucción ALTER PROCEDURE.
DROP PROCEDURE spAddCliente;
TRIGGERS
@data_science.analysis Data Science
926 837 332
@data_science.analysis Data Science @datascienceanalysis
Data Science Analysis
959 495 927
Los triggers (o disparadores) en SQL Server son objetos especiales que se asocian con
tablas o vistas y se activan automáticamente cuando ocurren eventos específicos en la
base de datos, como inserciones, actualizaciones o eliminaciones de registros.
¿Qué Son los Triggers?
Un trigger es un tipo de procedimiento almacenado que se ejecuta automáticamente
("se dispara") en respuesta a ciertos eventos en una tabla o vista. Los eventos
comunes que pueden activar un trigger incluyen INSERT, UPDATE y DELETE.
Tipos de Triggers
Hay dos tipos principales de triggers en SQL Server:
• AFTER Triggers (también conocidos como FOR Triggers): Se ejecutan después de
que se haya completado la acción que los activa, es decir, después de cualquier
operación de INSERT, UPDATE o DELETE.
• INSTEAD OF Triggers: Se ejecutan en lugar de la acción que los activaría, lo que
significa que pueden sobrescribir las operaciones de INSERT, UPDATE o DELETE
en una tabla o vista.
TRIGGERS
@data_science.analysis Data Science
926 837 332
@data_science.analysis Data Science @datascienceanalysis
Data Science Analysis
959 495 927
¿Para Qué Sirven los Triggers?
Los triggers son útiles para:
Mantener la integridad de los datos.
Aplicar reglas de negocio de forma automática.
Realizar un seguimiento de los cambios en las tablas para auditorías.
Sincronizar tablas en diferentes bases de datos o sistemas.
Realizar acciones en cascada derivadas de cambios en los datos.
Crear Triggers
Para crear un trigger, se utiliza la instrucción CREATE TRIGGER, seguida del nombre
del trigger, el evento que lo activa y la tabla a la que se asocia.
CREATE TRIGGER trgAfterInsert ON Employees
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON;
-- Insertar la auditoría en una tabla de auditoría
INSERT INTO EmployeeAudit (AuditAction, EmployeeID, AuditDate)
SELECT 'Insert', i.EmployeeID, GETDATE()
FROM inserted i;
END;
GO
TRIGGERS
@data_science.analysis Data Science
926 837 332
@data_science.analysis Data Science @datascienceanalysis
Data Science Analysis
959 495 927
CREATE TABLE Employees (
EmployeeID INT PRIMARY KEY,
Name NVARCHAR(100),
Email NVARCHAR(100)
);
CREATE TABLE EmployeeAudit (
AuditID INT PRIMARY KEY IDENTITY(1,1), -- Un identificador único para cada acción de auditoría.
AuditAction NVARCHAR(50), -- La acción que se está auditando ('Insert' en este caso).
EmployeeID INT, -- El ID del empleado que se está auditando.
AuditDate DATETIME -- La fecha y hora en que ocurrió la acción.
);
INSERT INTO Employees (EmployeeID, Name, Email)
VALUES (123, 'John Doe', 'john.doe@example.com');
TRIGGERS
@data_science.analysis Data Science
926 837 332
@data_science.analysis Data Science @datascienceanalysis
Data Science Analysis
959 495 927
Alterar Triggers
Para modificar un trigger existente, puedes usar la instrucción ALTER TRIGGER de
manera similar a cómo lo harías con un procedimiento almacenado.
ALTER TRIGGER trgAfterInsert ON Employees
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON;
-- Código modificado del trigger
END;
GO
Eliminar Triggers
Para eliminar un trigger, usas la instrucción DROP TRIGGER.
DROP TRIGGER trgAfterInsert;
EJEMPLOS TRIGGERS
@data_science.analysis Data Science
926 837 332
@data_science.analysis Data Science @datascienceanalysis
Data Science Analysis
959 495 927
Paso 1: Crear la Tabla de Ejemplo
Primero, necesitas una tabla sobre la cual el trigger va a operar. Creamos una
tabla simple llamada Clientes:
CREATE TABLE Clientes (
ClienteID INT PRIMARY KEY,
Nombre NVARCHAR(100),
Email NVARCHAR(100)
);
Paso 2: Crear un Trigger
Ahora, vamos a crear un trigger que se activará después de que se inserte un
nuevo registro en la tabla Clientes.
CREATE TRIGGER trgAfterInsertOnClientes
ON Clientes
AFTER INSERT
AS
BEGIN
PRINT 'Se ha insertado un nuevo cliente.';
END;
EJEMPLOS TRIGGERS
@data_science.analysis Data Science
926 837 332
@data_science.analysis Data Science @datascienceanalysis
Data Science Analysis
959 495 927
Este trigger hace lo siguiente:
Nombre del Trigger: trgAfterInsertOnClientes.
Tabla Asociada: Clientes.
Tipo de Trigger: AFTER INSERT, lo que significa que se ejecutará después de una
operación de inserción en la tabla Clientes.
Acción del Trigger: En este ejemplo simple, el trigger solo imprime un mensaje (PRINT
'Se ha insertado un nuevo cliente.'). En un caso real, aquí podrías insertar lógica más
compleja, como actualizar otra tabla, realizar comprobaciones o registrar la operación
en una tabla de auditoría.
Paso 3: Probar el Trigger
Para ver el trigger en acción, insertamos un registro en la tabla Clientes:
INSERT INTO Clientes (ClienteID, Nombre, Email)
VALUES (2, 'Juan Pérez', 'juan.perez@example.com');
EJEMPLOS TRIGGERS
@data_science.analysis Data Science
926 837 332
@data_science.analysis Data Science @datascienceanalysis
Data Science Analysis
959 495 927
Después de ejecutar esta inserción, el trigger trgAfterInsertOnClientes se activará
automáticamente y ejecutará su código, que en este caso es simplemente imprimir un
mensaje.
Modificar un Trigger
Si necesitas cambiar la lógica del trigger, usarías ALTER TRIGGER. Por ejemplo, para
modificar el trigger anterior para que también registre la hora de la inserción, podrías
hacerlo así:
ALTER TRIGGER trgAfterInsertOnClientes
ON Clientes
AFTER INSERT
AS
BEGIN
PRINT 'Se ha insertado un nuevo cliente a las ' + CONVERT(NVARCHAR, GETDATE(), 120);
END;
@data_science.analysis
@dsaperu
Data Science Analysis
@datascienceanalysis
959 495 927
Data Science Analysis

Más contenido relacionado

PDF
Transacciones y sql procedural EN MySQL
PDF
Teoria procedimientos almacenados
PDF
Manualitosqlserver
DOCX
Trabajo grupal - Base de Datos
PPTX
Taller de Base de Datos - Unidad 6 SQL procedural
PDF
Auditoria en oracle
PPTX
Procedimientos almacenadoss
Transacciones y sql procedural EN MySQL
Teoria procedimientos almacenados
Manualitosqlserver
Trabajo grupal - Base de Datos
Taller de Base de Datos - Unidad 6 SQL procedural
Auditoria en oracle
Procedimientos almacenadoss

Similar a SQL SERVER Y MYSQL - ADMINISTRACIÓN DE BASE DE DATOS (20)

PPTX
TRIGGERS O DISPARADORES
PPTX
Trigger Data Base
PPTX
Trigger activadores
PDF
BDDII T1-2_TalentoDeBasededatosparaminovia
PPTX
TRIGGER-ACTIVADORES
PPTX
TRIGGERS-ACTIVADORES
PPT
Disparadores - base de datos
PPT
Disparadores
PPT
Funciones store proc_triggers
PPTX
Formacion critica
PPTX
Trigger activadores
PPTX
PPT
Disparadores 1213820550525607-9
DOC
PPTX
Programacion de base de datos - unidad 3 Programacion de base de datos
PDF
Commit&rollback
PPTX
Procedimientos almacenados
PPS
Triggers
PDF
Funciones store proc_triggers
TRIGGERS O DISPARADORES
Trigger Data Base
Trigger activadores
BDDII T1-2_TalentoDeBasededatosparaminovia
TRIGGER-ACTIVADORES
TRIGGERS-ACTIVADORES
Disparadores - base de datos
Disparadores
Funciones store proc_triggers
Formacion critica
Trigger activadores
Disparadores 1213820550525607-9
Programacion de base de datos - unidad 3 Programacion de base de datos
Commit&rollback
Procedimientos almacenados
Triggers
Funciones store proc_triggers
Publicidad

Último (20)

PDF
MORFOLOGIA (ASPECTO FORMACION DE PALABRAS).pdf
PPTX
TICS EN HONDURAS, PAIS DE CENTROAMERICA.pptx
PPTX
Introducción al analisis de datos con Power bi
PDF
Presentación para empoderar a un equipo a factirar
PDF
6°-Básico-Matemática-Diagrama-de-tallo-y-hoja_y_probabilidades.pdf
PPTX
Características de jean Piaget y su fase cognitivo
PDF
PRESENTACION DE LA ASIGNATURA materiales no convencionales.pdf
PDF
MAPAMENTALLa tendencia pedagógica basada en competencias hacia una.pdf
PDF
2425_s9_1_Bitacora_para_la_reflexion.pdf
PDF
Los 10 mayores Fondos Soberanos de Riqueza (2025).pdf
PDF
Actualización en el uso de uterotónico.pdf
PDF
MOVIMIENTO DE TIERRA Y ASFALTO.pdf 2025A
PPTX
CANALES DE DISTRIBUCION en comercio internacional
PPTX
Milder Antoni quirhuayo segura trabajo de investigación .pptx
PPTX
Embarazo en adolescentes ksjsjjdkxkxkxkxxj
PDF
dhjhfjhjcnjhghhhdfhuhhchchuuhuhduhduddyhdu
PDF
REPORTE DE VICTIMAS POR HOMICIDIO DOLOSO IRAPUATO JULIO 2025
PDF
Presentación_rendición_de_cuentas_2020_26-FEB-2021.pdf
PDF
Pobreza porcentual en el mundo y sistemas socioeconómicos (1945-2030).pdf
PPTX
EPCE_EXCEL 365 CURSO DE ENTRENAMIENTO.pptx
MORFOLOGIA (ASPECTO FORMACION DE PALABRAS).pdf
TICS EN HONDURAS, PAIS DE CENTROAMERICA.pptx
Introducción al analisis de datos con Power bi
Presentación para empoderar a un equipo a factirar
6°-Básico-Matemática-Diagrama-de-tallo-y-hoja_y_probabilidades.pdf
Características de jean Piaget y su fase cognitivo
PRESENTACION DE LA ASIGNATURA materiales no convencionales.pdf
MAPAMENTALLa tendencia pedagógica basada en competencias hacia una.pdf
2425_s9_1_Bitacora_para_la_reflexion.pdf
Los 10 mayores Fondos Soberanos de Riqueza (2025).pdf
Actualización en el uso de uterotónico.pdf
MOVIMIENTO DE TIERRA Y ASFALTO.pdf 2025A
CANALES DE DISTRIBUCION en comercio internacional
Milder Antoni quirhuayo segura trabajo de investigación .pptx
Embarazo en adolescentes ksjsjjdkxkxkxkxxj
dhjhfjhjcnjhghhhdfhuhhchchuuhuhduhduddyhdu
REPORTE DE VICTIMAS POR HOMICIDIO DOLOSO IRAPUATO JULIO 2025
Presentación_rendición_de_cuentas_2020_26-FEB-2021.pdf
Pobreza porcentual en el mundo y sistemas socioeconómicos (1945-2030).pdf
EPCE_EXCEL 365 CURSO DE ENTRENAMIENTO.pptx
Publicidad

SQL SERVER Y MYSQL - ADMINISTRACIÓN DE BASE DE DATOS

  • 1. SQL Server & MySQL Database Ponente: Ricardo Rabanal Huánuco Tema: Presentación Inicio: 26 de Enero del 2024 Sesión: Sesión 7 Databas e
  • 2. @data_science.analysis Data Science 926 837 332 @data_science.analysis Data Science @datascienceanalysis Data Science Analysis 959 495 927 Procesos almacenados
  • 3. Store Procedures @data_science.analysis Data Science 926 837 332 @data_science.analysis Data Science @datascienceanalysis Data Science Analysis 959 495 927 Los procedimientos almacenados en SQL Server son objetos de base de datos que encapsulan una o más instrucciones SQL para realizar una tarea específica. Son útiles porque permiten reutilizar código SQL, pueden mejorar el rendimiento al reducir el tráfico de red y permiten un mayor control de seguridad en las operaciones de la base de datos. Crear Procedimientos Almacenados Para crear un procedimiento almacenado, se usa la instrucción CREATE PROCEDURE, seguida del nombre del procedimiento y luego los parámetros (si los hay), y finalmente el cuerpo del procedimiento que contiene las instrucciones SQL. CREATE PROCEDURE spAddCliente @Nombre NVARCHAR(100), @Apellido NVARCHAR(100), @Email NVARCHAR(255) AS BEGIN INSERT INTO Clientes (Nombre, Apellido, Email) VALUES (@Nombre, @Apellido, @Email); END; GO
  • 4. Store Procedures @data_science.analysis Data Science 926 837 332 @data_science.analysis Data Science @datascienceanalysis Data Science Analysis 959 495 927 Alterar Procedimientos Almacenados Si necesitas cambiar un procedimiento almacenado después de haberlo creado, puedes utilizar la instrucción ALTER PROCEDURE. ALTER PROCEDURE spAddCliente @Nombre NVARCHAR(100), @Apellido NVARCHAR(100), @Email NVARCHAR(255), @FechaRegistro DATE = NULL -- Nuevo parámetro opcional AS BEGIN INSERT INTO Clientes (Nombre, Apellido, Email, FechaRegistro) VALUES (@Nombre, @Apellido, @Email, COALESCE(@FechaRegistro, GETDATE())); END; GO Ejecutar Procedimientos Almacenados Para ejecutar un procedimiento almacenado, utilizas la instrucción EXECUTE (o EXEC). EXEC spAddCliente @Nombre = 'Juan', @Apellido = 'Pérez', @Email = 'juan.perez@example.com', @FechaRegistro = '2021-01-01';
  • 5. Store Procedures @data_science.analysis Data Science 926 837 332 @data_science.analysis Data Science @datascienceanalysis Data Science Analysis 959 495 927 Alterar Procedimientos Almacenados Si necesitas cambiar un procedimiento almacenado después de haberlo creado, puedes utilizar la instrucción ALTER PROCEDURE. DROP PROCEDURE spAddCliente;
  • 6. TRIGGERS @data_science.analysis Data Science 926 837 332 @data_science.analysis Data Science @datascienceanalysis Data Science Analysis 959 495 927 Los triggers (o disparadores) en SQL Server son objetos especiales que se asocian con tablas o vistas y se activan automáticamente cuando ocurren eventos específicos en la base de datos, como inserciones, actualizaciones o eliminaciones de registros. ¿Qué Son los Triggers? Un trigger es un tipo de procedimiento almacenado que se ejecuta automáticamente ("se dispara") en respuesta a ciertos eventos en una tabla o vista. Los eventos comunes que pueden activar un trigger incluyen INSERT, UPDATE y DELETE. Tipos de Triggers Hay dos tipos principales de triggers en SQL Server: • AFTER Triggers (también conocidos como FOR Triggers): Se ejecutan después de que se haya completado la acción que los activa, es decir, después de cualquier operación de INSERT, UPDATE o DELETE. • INSTEAD OF Triggers: Se ejecutan en lugar de la acción que los activaría, lo que significa que pueden sobrescribir las operaciones de INSERT, UPDATE o DELETE en una tabla o vista.
  • 7. TRIGGERS @data_science.analysis Data Science 926 837 332 @data_science.analysis Data Science @datascienceanalysis Data Science Analysis 959 495 927 ¿Para Qué Sirven los Triggers? Los triggers son útiles para: Mantener la integridad de los datos. Aplicar reglas de negocio de forma automática. Realizar un seguimiento de los cambios en las tablas para auditorías. Sincronizar tablas en diferentes bases de datos o sistemas. Realizar acciones en cascada derivadas de cambios en los datos. Crear Triggers Para crear un trigger, se utiliza la instrucción CREATE TRIGGER, seguida del nombre del trigger, el evento que lo activa y la tabla a la que se asocia. CREATE TRIGGER trgAfterInsert ON Employees AFTER INSERT AS BEGIN SET NOCOUNT ON; -- Insertar la auditoría en una tabla de auditoría INSERT INTO EmployeeAudit (AuditAction, EmployeeID, AuditDate) SELECT 'Insert', i.EmployeeID, GETDATE() FROM inserted i; END; GO
  • 8. TRIGGERS @data_science.analysis Data Science 926 837 332 @data_science.analysis Data Science @datascienceanalysis Data Science Analysis 959 495 927 CREATE TABLE Employees ( EmployeeID INT PRIMARY KEY, Name NVARCHAR(100), Email NVARCHAR(100) ); CREATE TABLE EmployeeAudit ( AuditID INT PRIMARY KEY IDENTITY(1,1), -- Un identificador único para cada acción de auditoría. AuditAction NVARCHAR(50), -- La acción que se está auditando ('Insert' en este caso). EmployeeID INT, -- El ID del empleado que se está auditando. AuditDate DATETIME -- La fecha y hora en que ocurrió la acción. ); INSERT INTO Employees (EmployeeID, Name, Email) VALUES (123, 'John Doe', 'john.doe@example.com');
  • 9. TRIGGERS @data_science.analysis Data Science 926 837 332 @data_science.analysis Data Science @datascienceanalysis Data Science Analysis 959 495 927 Alterar Triggers Para modificar un trigger existente, puedes usar la instrucción ALTER TRIGGER de manera similar a cómo lo harías con un procedimiento almacenado. ALTER TRIGGER trgAfterInsert ON Employees AFTER INSERT AS BEGIN SET NOCOUNT ON; -- Código modificado del trigger END; GO Eliminar Triggers Para eliminar un trigger, usas la instrucción DROP TRIGGER. DROP TRIGGER trgAfterInsert;
  • 10. EJEMPLOS TRIGGERS @data_science.analysis Data Science 926 837 332 @data_science.analysis Data Science @datascienceanalysis Data Science Analysis 959 495 927 Paso 1: Crear la Tabla de Ejemplo Primero, necesitas una tabla sobre la cual el trigger va a operar. Creamos una tabla simple llamada Clientes: CREATE TABLE Clientes ( ClienteID INT PRIMARY KEY, Nombre NVARCHAR(100), Email NVARCHAR(100) ); Paso 2: Crear un Trigger Ahora, vamos a crear un trigger que se activará después de que se inserte un nuevo registro en la tabla Clientes. CREATE TRIGGER trgAfterInsertOnClientes ON Clientes AFTER INSERT AS BEGIN PRINT 'Se ha insertado un nuevo cliente.'; END;
  • 11. EJEMPLOS TRIGGERS @data_science.analysis Data Science 926 837 332 @data_science.analysis Data Science @datascienceanalysis Data Science Analysis 959 495 927 Este trigger hace lo siguiente: Nombre del Trigger: trgAfterInsertOnClientes. Tabla Asociada: Clientes. Tipo de Trigger: AFTER INSERT, lo que significa que se ejecutará después de una operación de inserción en la tabla Clientes. Acción del Trigger: En este ejemplo simple, el trigger solo imprime un mensaje (PRINT 'Se ha insertado un nuevo cliente.'). En un caso real, aquí podrías insertar lógica más compleja, como actualizar otra tabla, realizar comprobaciones o registrar la operación en una tabla de auditoría. Paso 3: Probar el Trigger Para ver el trigger en acción, insertamos un registro en la tabla Clientes: INSERT INTO Clientes (ClienteID, Nombre, Email) VALUES (2, 'Juan Pérez', 'juan.perez@example.com');
  • 12. EJEMPLOS TRIGGERS @data_science.analysis Data Science 926 837 332 @data_science.analysis Data Science @datascienceanalysis Data Science Analysis 959 495 927 Después de ejecutar esta inserción, el trigger trgAfterInsertOnClientes se activará automáticamente y ejecutará su código, que en este caso es simplemente imprimir un mensaje. Modificar un Trigger Si necesitas cambiar la lógica del trigger, usarías ALTER TRIGGER. Por ejemplo, para modificar el trigger anterior para que también registre la hora de la inserción, podrías hacerlo así: ALTER TRIGGER trgAfterInsertOnClientes ON Clientes AFTER INSERT AS BEGIN PRINT 'Se ha insertado un nuevo cliente a las ' + CONVERT(NVARCHAR, GETDATE(), 120); END;