Professional Documents
Culture Documents
ID: 351997
1. Crear un Trigger que borre en cascada sobre la tabla relacionada cuando borremos una
sala. Mostrar el registro borrado al ejecutar el Trigger.
Query:
-- =============================================
-- Author: Jeisson Juanias
-- Create date: 22-10-2020
-- =============================================
ALTER TRIGGER [dbo].[EliminarRegistroSala]
ON [dbo].[Sala]
AFTER DELETE
AS
BEGIN
END
Jeisson Duban Juanias Villarraga
ID: 351997
Resultado:
Jeisson Duban Juanias Villarraga
ID: 351997
2. Crear un Trigger que se active cuando Actualicemos alguna sala del hospital, modificando
sus tablas relacionadas. Mostrar el registro Actualizado.
-- =============================================
-- Author: Jeisson Juanias
-- Create date: 22-10-2020
-- =============================================
ALTER TRIGGER dbo.ActualizarSala
ON dbo.Sala
AFTER UPDATE
AS
BEGIN
UPDATE t
SET t.Sala_Cod = i.Sala_Cod
FROM
inserted i
INNER JOIN deleted d ON i.Hospital_Cod = d.Hospital_Cod AND i.Sala_Cod <> d.Sala_Cod
INNER JOIN Plantilla t ON d.Hospital_Cod = t.Hospital_Cod AND d.Sala_Cod = t.Sala_Cod
END
Jeisson Duban Juanias Villarraga
ID: 351997
3. Crear un Trigger que se active al eliminar un registro en la tabla hospital y modifique las
tablas correspondientes.
Query:
-- =============================================
-- Author: Jeisson Juanias
-- Create date: 22-10-2020
-- =============================================
ALTER TRIGGER dbo.EliminarHospital
ON dbo.Hospital
AFTER DELETE
AS
BEGIN
Query:
-- =============================================
-- Author: Jeisson Juanias
-- Create date: 22-10-2020
-- =============================================
ALTER TRIGGER [dbo].[ControlInsert]
ON [dbo].[Emp]
AFTER INSERT
AS
BEGIN
END
Jeisson Duban Juanias Villarraga
ID: 351997
5. Crear un Trigger que actué cuando se modifique la tabla hospital y sobre todas las tablas
con las que está relacionadas.
Query:
-- Author: Jeisson Juanias
-- =============================================
UPDATE t
SET t.Hospital_Cod = i.Hospital_Cod
FROM
inserted i
INNER JOIN deleted d ON i.Nombre = d.Nombre AND i.Hospital_Cod <> d.Hospital_Cod
INNER JOIN Plantilla t ON t.Hospital_Cod = d.Hospital_Cod
END
Jeisson Duban Juanias Villarraga
ID: 351997
6) Crear un Trigger en la tabla plantilla. Cuando actualicemos la tabla plantilla, debemos
comprobar que el hospital que actualizamos existe, si intentamos actualizar el código de
hospital, no podremos hacerlo si no existe relación con algún código de hospital.
Query:
-- =============================================
-- Author: Jeisson Juanias
-- Create date: 22-10-2020
-- =============================================
ALTER TRIGGER dbo.ActualizarPlantilla
ON [dbo].[Plantilla]
FOR UPDATE
AS
BEGIN
END
GO
Jeisson Duban Juanias Villarraga
ID: 351997
7) Modificar el Trigger del ejercicio 4, utilizando transacciones y control de errores, si la
operación es correcta, mostrar un mensaje positivo, si la operación no es correcta mostrar el
error y un mensaje que indique que no se ha llevado a cabo la operación.
USE [Hospital_BD]
GO
/****** Object: Trigger [dbo].[ControlInsert] Script Date: 22/10/2020 8:53:36 p.
m. ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: Jeisson Juanias
-- Create date: 22-10-2020
-- =============================================
ALTER TRIGGER [dbo].[ControlInsert]
ON [dbo].[Emp]
AFTER INSERT
AS
BEGIN
BEGIN TRANSACTION
BEGIN TRY
COMMIT TRANSACTION
END TRY
BEGIN CATCH
END CATCH
END
Jeisson Duban Juanias Villarraga
ID: 351997
8) crear un trigger que guarde los datos en la tabla controltrigger cuando se realice la baja de
un empleado.
-- =============================================
-- Author: Jeisson Juanias
-- Create date: 22-10-2020
-- =============================================
CREATE TRIGGER dbo.BajaEmpleado
ON [dbo].[Emp]
AFTER DELETE
AS
BEGIN
END
GO
9) Crear un Trigger que guarde los datos en la tabla Control_Trigger cuando se realice una
modificación en un empleado. Guardar la hora de la actualización en un campo aparte en la
tabla Control Trigger. (Añadir un campo)
-- =============================================
-- Author: Jeisson Juanias
-- Create date: 22-10-2020
-- =============================================
CREATE TRIGGER dbo.UpdateEmpleado
ON [dbo].[Emp]
AFTER UPDATE
AS
BEGIN
SET NOCOUNT ON;