Taller de Base de Datos
USO DE DISPARADORES "Triggers" EN SQL SERVER DOCENTE PERLA PROAÑO FECHA AGOSTO DEL 2023
Taller de Base de Datos
Contacto
Los desencadenadores o disparadores (triggers)
Se ejecutan cuando un usuario intenta modificar datos mediante un evento DML a través de las instrucciones INSERT, UPDATE o DELETE de una tabla o vista.
Ejemplo de cuando usar triggers
- ✔ Cuando se requiere evitar determinados cambios en el esquema de base de datos.
- ✔ Al buscar que ocurra algún evento en la base de datos como respuesta a un cambio realizado en el esquema de base de datos.
- ✔ Al tratar de registrar cambios o eventos del esquema de base de datos.
SINTAXIS
CREATE TRIGGER [schema.] trigger
ON table
{FOR | AFTER | INSTEAD OF}
{ [ INSERT ] [ , ] [ UPDATE ] [ , ] [ DELETE ] }
AS sql_sentence(1)
Ejemplo
IF EXISTS (SELECT * FROM sys.server_triggers WHERE name = 'ddl_trig_database')
DROP TRIGGER ddl_trig_database
ON ALL SERVER;
GO
CREATE TRIGGER ddl_trig_database
ON ALL SERVER
FOR CREATE_DATABASE
AS
PRINT 'Base de datos creada.'
Eliminar Disparadores
DROP TRIGGER [schema.] trigger
Donde:
schema: Es el nombre del esquema al que pertenece un desencadenador. Este campo es opcional.
trigger: Es el nombre del disparador (trigger). (MICROSOFT DEVELOPER NETWORK, 2015d)
EJEMPLO
IF EXISTS (SELECT * FROM sys.server_triggers WHERE name = 'ddl_trig_database')
DROP TRIGGER ddl_trig_database
ON ALL SERVER;
GO
CREATE TRIGGER ddl_trig_database
ON ALL SERVER
FOR CREATE_DATABASE
AS
PRINT 'Base de datos creada.'
CONCLUSION
Los disparadores DDL son una nueva herramienta muy potente, que permitirá poder tener control sobre las sentencias DDL y así también poder realizar auditorías a las mismas. Con esta información podemos hacer informes que nos indiquen, por ejemplo:
● Cuales tablas han sufridos cambios recientemente.
● Tablas que no sufrieron cambios en determinadas fechas ● Mostrar todos los cambios realizados por un usuario y periodo específico.
● Mostrar las tablas más activas en un determinado periodo.
Referencias Bibliograficas
Post, Gerald V. (2006), “Sistemas de Administración para bases de datos”. 1ra. edición. McGraw Hill. México.
Raghu Ramakrishnan, Johannes Gehrke. (2007) Sistemas de gestión de bases de datos. 3er. edición. McGraw-Hill. España.
Microsoft. (2010) Centro de desarrollo de SQL Server. Disponible desde Internet en: http://msdn.microsoft.com/es-mx/sqlserver/bb671064.aspx. Con acceso el 25 de octubre de 2012.
McLaughlin, Michael, (2008), Oracle Database 11g, PL/SQL Programming, Develop Robust, Database-Driven PL/SQL Applications, Mc Graw Hill
Taller de Base de Datos
PERLA INÉS PROAÑO GRIJALVA
Created on August 13, 2023
La presente proyeccion tiene como objetivo el uso de disparadores "triggers" en SQL Server
Start designing with a free template
Discover more than 1500 professional designs like these:
View
Practical Presentation
View
Smart Presentation
View
Essential Presentation
View
Akihabara Presentation
View
Pastel Color Presentation
View
Modern Presentation
View
Relaxing Presentation
Explore all templates
Transcript
Taller de Base de Datos
USO DE DISPARADORES "Triggers" EN SQL SERVER DOCENTE PERLA PROAÑO FECHA AGOSTO DEL 2023
Taller de Base de Datos
Contacto
Los desencadenadores o disparadores (triggers)
Se ejecutan cuando un usuario intenta modificar datos mediante un evento DML a través de las instrucciones INSERT, UPDATE o DELETE de una tabla o vista.
Ejemplo de cuando usar triggers
SINTAXIS
CREATE TRIGGER [schema.] trigger ON table {FOR | AFTER | INSTEAD OF} { [ INSERT ] [ , ] [ UPDATE ] [ , ] [ DELETE ] } AS sql_sentence(1)
Ejemplo
IF EXISTS (SELECT * FROM sys.server_triggers WHERE name = 'ddl_trig_database') DROP TRIGGER ddl_trig_database ON ALL SERVER; GO CREATE TRIGGER ddl_trig_database ON ALL SERVER FOR CREATE_DATABASE AS PRINT 'Base de datos creada.'
Eliminar Disparadores
DROP TRIGGER [schema.] trigger Donde: schema: Es el nombre del esquema al que pertenece un desencadenador. Este campo es opcional. trigger: Es el nombre del disparador (trigger). (MICROSOFT DEVELOPER NETWORK, 2015d)
EJEMPLO
IF EXISTS (SELECT * FROM sys.server_triggers WHERE name = 'ddl_trig_database') DROP TRIGGER ddl_trig_database ON ALL SERVER; GO CREATE TRIGGER ddl_trig_database ON ALL SERVER FOR CREATE_DATABASE AS PRINT 'Base de datos creada.'
CONCLUSION
Los disparadores DDL son una nueva herramienta muy potente, que permitirá poder tener control sobre las sentencias DDL y así también poder realizar auditorías a las mismas. Con esta información podemos hacer informes que nos indiquen, por ejemplo: ● Cuales tablas han sufridos cambios recientemente. ● Tablas que no sufrieron cambios en determinadas fechas ● Mostrar todos los cambios realizados por un usuario y periodo específico. ● Mostrar las tablas más activas en un determinado periodo.
Referencias Bibliograficas
Post, Gerald V. (2006), “Sistemas de Administración para bases de datos”. 1ra. edición. McGraw Hill. México. Raghu Ramakrishnan, Johannes Gehrke. (2007) Sistemas de gestión de bases de datos. 3er. edición. McGraw-Hill. España. Microsoft. (2010) Centro de desarrollo de SQL Server. Disponible desde Internet en: http://msdn.microsoft.com/es-mx/sqlserver/bb671064.aspx. Con acceso el 25 de octubre de 2012. McLaughlin, Michael, (2008), Oracle Database 11g, PL/SQL Programming, Develop Robust, Database-Driven PL/SQL Applications, Mc Graw Hill